1、首先配置好编译环境
yum -y update && yum -y upgrade
yum groupinstall "Development Tools"
yum -y install gcc gcc-c++ pcre openssl gd-devel* zlib-devel pcre-devel libxml2-devel curl-devel
下载安装libmcrypt
地址:http://sourceforge.net/projec...
(已下载)
编译安装即可
tar -zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure
make && make install
编辑 vim /etc/ld.so.conf 末行添加
/usr/local/lib
并执行:ldconfig
编译安装过程
PHP源码包
wget http://cn2.php.net/distributi...
tar zxvf PHP-7.0.14.tar.gz -C /usr/src/
cd /usr/src/PHPxxxx
编译安装
注意:路径换成自己的。
./configure --prefix=/usr/local/PHP7 --exec-prefix=/usr/local/PHP7 --bindir=/usr/local/PHP7/bin --sbindir=/usr/local/PHP7/sbin --includedir=/usr/local/PHP7/include --libdir=/usr/local/PHP7/lib/PHP --mandir=/usr/local/PHP7/PHP/man --with-config-file-path=/usr/local/PHP7/etc --with-MysqL-sock=/tmp/MysqL.sock --with-mcrypt=/usr/include --with-mhash --with-openssl --with-MysqL=shared,MysqLnd --with-MysqLi=shared,MysqLnd --with-pdo-MysqL=shared,MysqLnd --with-gd --with-iconv --with-zlib --enable-zip --enable-inline-optimization --enable-sockets --enable-soap --enable-session --with-curl --enable-opcache --enable-fpm --enable-fastcgi --with-fpm-user=www --with-fpm-group=www --disable-fileinfo
其他模块可以用 ./configure --help 查看configure的正确语法
编译&&安装
make clean && make && make install
cp /usr/local/PHP7/etc/PHP-fpm.conf.default /usr/local/PHP7/etc/PHP-fpm.conf
cp /usr/local/PHP7/etc/PHP-fpm.d/www.conf.default /usr/local/PHP7/etc/PHP-fpm.d/www.conf
启动
/usr/local/PHP7/sbin/PHP-fpm
PHP-fpm 开机启动
echo “/usr/local/PHP7/sbin/PHP-fpm start” >>/etc/rc.local
添加PHP环境变量 echo -e '\nexport PATH=/usr/local/PHP7/bin:/usr/local/PHP7/sbin:$PATH\n' >> /etc/profile && source /etc/profile
查看编译成功后的PHP7安装目录
由于需要和MysqL进行通信,所以需要特别查看PHP7安装后的lib扩展库目录(/usr/local/PHP7/lib/PHP/extensions/no-debug-non-zts-20151012/)。需要确保至少存在MysqLi.so、pdo_MysqL.so这两个动态库文件,如下图所示。
[root@localhost PHP-7.0.0]# ls -lrt /usr/local/PHP7/lib/PHP/extensions/no-debug-non-zts-20151012/
PHP 7 目录
PHP 7 目录
开始设置PHP7的配置文件PHP.ini、PHP-fpm.conf、www.conf和PHP-fpm脚本
可以用编译后的配置文件复制到PHP7的配置目录(/usr/local/PHP7/etc/),推荐使用 github中的配置。这个配置来自《PHP7中PHP.ini、PHP-fpm和www.conf的配置》
方法一:直接使用编译后未经优化处理的配置
[root@localhost PHP-7.0.0]# cp PHP.ini-production /usr/local/PHP7/etc/PHP.ini
方法二:使用https://github.com/lizer2014/...文中的配置
[root@localhost PHP-7.0.0]# mv ~/PHP.ini /usr/local/PHP7/etc/PHP.ini && mv ~/PHP-fpm /etc/init.d/PHP-fpm
[root@localhost PHP-7.0.0]# mv ~/PHP-fpm.conf /usr/local/PHP7/etc/PHP-fpm.conf && mv ~/www.conf /usr/local/PHP7/etc/PHP-fpm.d/www.conf
注意:需要修改PHP.ini配置中的参数,extension_dir改为自己的
extension_dir = "/usr/local/PHP7/lib/PHP/extensions/no-debug-non-zts-20151012/"
其中在/etc/init.d/PHP-fpm中在start函数的守护进程前必须有make /var/run/PHP-fpm命令,否则重启服务器会导致启动失败,Nginx中配置也有这个问题
添加PHP的环境变量
[root@localhost PHP-7.0.0]# echo -e 'nexport PATH=/usr/local/PHP7/bin:/usr/local/PHP7/sbin:$PATHn' >> /etc/profile && source /etc/profile
设置PHP日志目录和PHP-fpm进程文件(PHP-fpm.sock)目录
其中,设置PHP-fpm进程目录的用户和用户组为Nginx,并创建PHP会话session目录
设置PHP日志目录和PHP-fpm的运行进程ID文件(PHP-fpm.sock)目录
[root@localhost PHP-7.0.0]# groupadd -r Nginx && useradd -r -g Nginx -s /bin/false -M Nginx
[root@localhost PHP-7.0.0]# mkdir -p /var/log/PHP-fpm/ && mkdir -p /var/run/PHP-fpm && cd /var/run/ && chown -R Nginx:Nginx PHP-fpm
修改session的目录配置
[root@localhost run]# mkdir -p /var/lib/PHP/session
[root@localhost run]# chown -R Nginx:Nginx /var/lib/PHP
配置开机自启动,增加到主机sysV服务
[root@localhost run]# chmod +x /etc/init.d/PHP-fpm
[root@localhost run]# chkconfig --add PHP-fpm
[root@localhost run]# chkconfig PHP-fpm on
测试PHP的配置文件是否正确合法
[root@localhost run]# PHP-fpm -t
[05-Dec-2015 17:33:03] NOTICE: configuration file /usr/local/PHP7/etc/PHP-fpm.conf test is successful
启动PHP服务
在完成上面的操作后,就可以正式使用PHP服务了。启动PHP进程服务的命令如下:
[root@localhost init.d]# service PHP-fpm start
Starting PHP-fpm done
然后可以通过命令ps -aux|grep PHP查看是否成功(图中的PHP-fpm进程数和进程用户Nginx都是由www.conf中pm.start_servers和user的值分别决定的)
root /var/www/html/; index index.html index.htm index.PHP; }
root /var/www/html/; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.PHP; fastcgi_param HTTPS on; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; #new line include fastcgi.conf; # # }
如果出现错误“sqlSTATE[HY000] [2002] No such file or directory”将localhost改为127.0.0.1$host = 'localhost';//改为127.0.0.1$database = 'demo';$username = 'root';$password = 'admin';
原文链接:https://www.f2er.com/centos/377114.html