实验环境:腾讯云Centos7.2,php-5.6.9
PHP地址:http://mirrors.sohu.com/php/php-5.6.9.tar.gz
PHP安装目录:/usr/local/php56/
php.ini目录:/usr/local/php56/etc/
一般编译安装几乎都就为三步骤:
1、安装依赖的库软件(也可以提前安装,也可以报错的时候安装,这里我提前全部安装上)
2、下载安装包,make,make install
3、后续的配置文件,变量等一些设置
一、安装php所依赖的一些库和软件
yum install libxml2 libxml2-devel libcurl-devel libjpeg-devel libpng-devel libpng libjpeg gcc openssl-devel bzip2-devel libmcrypt-devel readline-devel -y
二、下载php源码包
wget http://mirrors.sohu.com/php/php-5.6.9.tar.gz
三、解压安装包进入解压目录和创建一个www的组合用户不允许登录
tar -zxvf php-5.6.9.tar.gz cd php-5.6.9 groupadd www useradd -g www -s /sbin/nologin www
四、预编译(注意如果这里出错请检查解决,是否安装依赖)
./configure --prefix=/usr/local/php56 \ --with-config-file-path=/usr/local/php56/etc \ --enable-inline-optimization \ --disable-debug \ --disable-rpath \ --enable-shared \ --enable-opcache \ --enable-fpm \ --with-fpm-user=www \ --with-fpm-group=www \ --with-mysql=mysqlnd \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd \ --with-gettext \ --enable-mbstring \ --with-iconv \ --with-mcrypt \ --with-mhash \ --with-openssl \ --enable-bcmath \ --enable-soap \ --with-libxml-dir \ --enable-pcntl \ --enable-shmop \ --enable-sysvmsg \ --enable-sysvsem \ --enable-sysvshm \ --enable-sockets \ --with-curl \ --with-zlib \ --enable-zip \ --with-bz2 \ --with-readline
五、安装(一条命令带过)
make && make install
六、配置php.ini(复制源码包下面的php.ini-development到安装目录的etc/为php.ini)
cp php.ini-development /usr/local/php56/etc/php.ini
七、配置php-fpm(这里计划和nginx结合)
cp /usr/local/php56/etc/php-fpm.conf.default /usr/local/php56/etc/php-fpm.conf cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm chmod +x /etc/init.d/php-fpm chkconfig --add php-fpm chkconfig on php-fpm service php-fpm start
八、配置环境变量
vim /etc/profile PATH=$PATH:/usr/local/php56/bin export PATH source /etc/profile
九、预编译参数详解
php 安装目录 ./configure --prefix=/usr/local/php56 \ php.ini配置文件所在目录 --with-config-file-path=/usr/local/php56/etc \ 优化线程,关闭调试模式, --enable-inline-optimization \ --disable-debug \ 关闭额外的运行库文件,启用动态库,打开opcache解析器可以直接从共享内存调用字节码 --disable-rpath \ --enable-shared \ --enable-opcache \ 开启fpm,fpm所属组和用户为www --enable-fpm \ --with-fpm-user=www \ --with-fpm-group=www \ 数据库连接参数 --with-mysql=mysqlnd \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd \ 国际化与字符编码支持 --with-gettext \ --enable-mbstring \ --with-iconv \ 加密算法扩展 --with-mcrypt \ --with-mhash \ --with-openssl \ 打开图片大小调整 --enable-bcmath \ http服务soap依赖libxml --enable-soap \ --with-libxml-dir \ 进程扩展,共享内存,系统信号驱动事件 --enable-pcntl \ --enable-shmop \ --enable-sysvmsg \ --enable-sysvsem \ --enable-sysvshm \ 打开sockets支持 --enable-sockets \ curl浏览工具的支持,打开zlib库的支持,用于http压缩传输,打开对bz2文件的支持 --with-curl \ --with-zlib \ --enable-zip \ --with-bz2 \ readline库扩展 --with-readline
十、在安装完毕后有人会用到GD库发现未安装(会开始怨了,下篇继续如果在编译时未安装某些扩展如何去添加)
本文作者为SKY RING,转载请注明。