我的开源之路

PHP编译so

绝对原创......自己配置成功过,按这方法也失败过。
反正研究了一个多星期,整体配置全部成功。(我对linux也不大熟,可能时间过长了点,见笑了)

www_mmkey_com

 

大致顺序一定要是mysql-apache-GD(GD支持库先装)-libmcrypt-php
我用的版本在tar解压命令后面都有。。如有需要可以直接联系我QQ:8976544    CALSS1和2我都在
*************************************************************
安装MYSQL
MYSQL是没有configure的,其实也并不用去configure,根据官方文档。我推荐直接按以下操作安装即可
    
 groupadd mysql
 useradd -g mysql mysql
 cd /usr/local
 tar zxf MySQL4.1.tar.gz
 ln -s FULL-PATH-TO-MYSQL-VERSION-OS(这里是解压后的文件夹) mysql       ---意指将解压后的文件夹链接到mysql这个
 cd mysql
 scripts/mysql_install_db --user=mysql
 chown -R root  .
 chown -R mysql data
 bin/mysqld_safe --user=mysqlMMKEY文摘

安装启动完毕后。。先登入mysql
 /usr/local/mysql/bin/mysql -u root -p   (初始密码为空,回车直接进入)
加用户与修改root密码就不用讲了吧。。
************************************************************
安装apache  这个最简单
tar zxf Apache2.tar.gz
cd httpd-2.0.54
./configure --prefix=/usr/local/apache2  指定默认路径就行了
make
make install
************************************************************
安装jpeg-v6
tar zxf jpegsrc.v6b.tar.gz
cd jpeg-v6/
./configure (后面不接参数即默认路径是/usr/local,这里不用多想,提出来是为了后面要用到的)
make
make installMMKEY文摘

在这里可能要报错,我的报错啦:
/usr/bin/install: cannot create regular file `/usr/local/man/man1/cjpeg.1': No such file or directory
make: *** [install] Error 1
提示找不到目录。既然电脑找不到,咱们人脑可以找嘛,自己先创建先
mkdir /usr/local/man
mkdir /usr/local/man1    创建完了再来
make install    (没报错就成功) mmkey-com

(JPEG这个是比较难整的。我有成功有失败过。如果硬是不行就把这个给去掉。或者反复换目录去,make clean,make ,make install)
+***********************************************************
安装freetype
tar zxf freetype-2.1.10.tar.gz
cd freetype-2.1.10
./configure
make
make install  (没报错就成功)
************************************************************
安装zlib
tar zxf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure
make
make install 
************************************************************
安装libpng
tar zxf libpng-1.2.8.tar.gz
cd libpng-1.2.8
(这个不用configure,有现存的makefile文件,在scripts下面,直接copy到外面来就行了)
cp scripts/makefile.std makefile
make
make install
************************************************************
安装gd
tar zxf gd-2.0.33.tar.gz
cd gd-2.0.33
./configure --with-png=/usr/local --with-freetype=/usr/local --with-jpeg=/usr/local
(想必到这里,你也应该明白后面的with了吧。)
make
make install     (没什么报错就成功啦)
************************************************************
安装libmcrypt(加密扩展--有不少的加密算法)
tar zxf libmcrypt-2.5.7.tar.gz
cd libmcrypt-2.5.7
./configure
make
make install
************************************************************
最后安装PHP5(请先停apache服务,命令:/usr/local/apache2/bin/apachectl stop)
tar zxf php5.tar.gz
cd php-5.0.4
./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php5/etc --with-gd=/usr/local --with-freetype-dir=/usr/local --with-zlib-dir=/usr/local --with-png=/usr/local --with-jpeg=/usr/local --with-mysqli=/usr/local/mysql/bin/mysql_config --with-mcrypt=/usr/local/mmkey-com

参数说明:
--prefix=              指定安装目录
--with-apxs2=          指定APACHE2(我这里是apache2,有了这一项就直接配置了APACHE支持PHP5)
--with-mysql=          指定mysql
--with-config-file-path指定php.ini文件位置(安装完后这里是没有的,需要把php-5.0.4里的php.ini-dist文件CP过来且改名为php.ini)
--with-gd=             指定gd
后面类似,另
--with-mysqli=/usr/local/mysql/bin/mysql_config  (前面没有MYSQLI这里先将其配置,后面还有内容,加了这个模块mysqli就可以使用啦)
--with-mcrypt=         对应libmcrypt的安装路径,我在前面讲到过。没有指定prefix的情况下默认为/usr/local

www_mmkey_com

 

注意:如果jpeg在configure过程中出错(很有可能),就暂时把--with-jpeg=/usr/local这个删掉,让GD不支持JPEG先。mmkey-com

如果configure没报错,继续
make
make install

文摘园地mmkey

 

记住,我们还没有将php.ini复制到/usr/local/php5/etc下,
cd php-5.0.4
cp php.ini-dist /usr/local/php5/etc/php.ini  回车即可
************************************************************
到这里全部的安装过程已完成,不过mysqli还没加载呢。。mysqli是优化过的mysql函数库,MYSQL版本不能低于4.1.12
cd php-5.0.4   在这下面有个ext文件夹里有mysqli
cd ext/mysqli
这里就有点莫名其妙啦。。linux下将源码文件编译应该都有configure吧,可这里没有,怎么办,在我们已经安装php后,php5这个文件夹里的命令目录bin里有一个文件叫phpize,用它就可以生成configure文件啦,继续
/usr/local/php5/bin/phpize        这里回车运行,执行完后就出了configure文件,mmkey-com

./configure --prefix=/usr/local/mysqli --with-php-config=/usr/local/php5/bin/php-config --with-mysqli=/usr/local/mysql/bin/mysql_config
前面讲过参数,这里应该大致理解吧。。后面的只是要找这两个文件,如果你是按我的流程下来,那两个文件就是上面这个,直接回车,不出问题就继续。。
make
make install   (不出错就会显示Installing shared extensions: /usr/local/php5/lib/php/extensions/no-debug-non-zts-20041030/)
现在mysqli.so文件就出来啦。。MMKEY文摘

后面的应该知道怎么做了吧。。直接在php.ini里把这个文件加载就OK啦。。
extension_dir="/usr/local/php5/ext"
extension=mysqli.so
把上面第一行找到修改成这个,然后再把第二行加入。。wq保存退出。
把mysqli.so这个文件cp到/usr/local/php5/ext下面,用下面语句测试

mmkey.com

 

if(mysqli_connect(host,user,pass)) echo "OK"; else echo "error";  保存为link.php
运行时看看mysqli是否能正常;

www_mmkey_com

 

*************************************************************
后期修改配置文件
vi /usr/local/apache2/conf/httpd.conf

文摘园地mmkey

 

ADDType application/x-httpd-php .php
ADDType application/x-httpd-php-source .phps
把上面这两行加进去,就可以让apache执行php文件,否则,打开网页时会成为下载。
如果你想改变WEB根目录,也可以在这里设置

mmkey.com

 

好了,大功告成MMKEY文摘

然后可以把mysql和apache随系统一起启动
/usr/local/apache2/bin/apachectl start|stop|restart
/usr/local/mysql/bin/mysqld_safe --user=mysql
这两行是分别启动apache和mysql的命令。你可以加到/etc/rc.d/rc.local这个文件里,就会随系统启动啦mmkey

posted on 2008-12-13 02:29 刘浩 阅读(1451) 评论(0)  编辑 收藏 引用 网摘 所属分类: Linux


只有注册用户登录后才能发表评论。
网站导航: