ubuntu server 12.10 下php的编译安装
下载最新版本的php源代码包:
wget http://cn2.php.net/distributions/php-5.4.9.tar.gz
解压缩后,进入php源代码目录
cd php-5.4.9
以下是我configure 配置信息:
./configure --prefix=/usr/local\ --enable-fpm\ --enable-exif\ --enable-ftp\ --enable-calendar\ --enable-sockets\ --enable-zip\ --enable-intl\ --enable-mbstring\ --enable-mysqlnd\ --with-config-file-path=/usr/local/etc\ --with-libdir=/lib/x86_64-linux-gnu\ --with-fpm-user=php-fpm\ --with-fpm-group=php-fpm\ --with-libxml-dir=/usr\ --with-openssl\ --with-zlib=/usr/local\ --with-curl=/usr\ --with-curlwrappers\ --with-gd\ --with-jpeg-dir=/usr/local\ --with-png-dir=/usr/local\ --with-mhash\ --with-mysql\ --with-mysql-sock=/var/run/mysqld/mysqld.sock\ --with-mysqli\ --with-pdo-mysql\ --with-mcrypt
其中mcrypt,mysql,png,jpeg,gd,curl,zlib,openssl,libxml,zip都需要第三方依赖
快速解决方法就是apt-get install.
以mysql为例 直接 apt-get install mysql-server-5.5 mysql-client-5.5 libmysqlclient-dev
即可解决mysql依赖同时安装好了mysql
在这里,善用apt-cache search libname 能提高你的编译速度。
假设 openssl 我们不知道要安装的依赖文件的具体名称,使用 apt-cache search 模糊或者正则查询,从结果中基本上能找到自己想要的
apt-cache serach *ssl*-dev *openssl*-dev *libopen*-dev 等等,使用这种模糊的查询找到自己想要的包,
安装的时候基本上安装dev的就行,这个是专门针对开发的。
如果实在不知道某个配置选项的依赖包,google之即可
make && make install即可安装
后续比如facebook的xhprof扩展的安装
下载此包,解压后进入源代码目录下的extentions目录
执行phpize命令,然后./configue –php-config-dir=$PREFIX/bin/php-config ,$PREFIX 是前面编译选项 --prefix。
make && make install
执行完毕后把xhprof.so 复制到php的扩展目录下
编辑php.ini加入xhprof,so(具体格式参照php.ini中其他类似选项)
关于phpize工具,我也不是非常了解,以后会多加学习
php的安装使用编译模式要比直接 apt-get 更好。
另外关于php-fpm的开机启动
复制 源代码目录 sapi/fpm/init.d.php-fpm 文件到/etc/init.d目录下
cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
然后: update-rc.d –f php-fpm defaults 即可
其他具体配置需深入学习。