下载所需要的版本源码包 ,PHP官网下载下来的源码包名默认是mirror,下载完之后自己改名即可,本次下载的版本是7.0.33,Centos 7系统,nginx服务器。
参考网址:
官网安装说明:http://php.net/manual/zh/install.unix.nginx.php
php.ini文件配置说明:http://php.net/manual/zh/ini.php
./configure 参数列表说明:https://yq.aliyun.com/php/86230
执行编译时的配置选项列表:
具体步骤如下:
cd /usr/local/src 一般把源码包下载到这个目录。
wget http://cn2.php.net/get/php-7.0.33.tar.gz/from/this/mirror
mv mirror php70.tar.gz
tar zxvf php70.tar.gz
cd php-7.0.33
执行下面的命令 注意:“\”后面不能有空格
1 2 |
--prefix和--with-config-file-path 换成自己想用的路径。 --with-mysql-sock 换成自己对应的文件目录。 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
./configure \ --prefix=/usr/local/php70 \ --with-config-file-path=/usr/local/php70 \ --with-mysqli \ --enable-mysqlnd \ --with-pdo-mysql=mysqlnd \ --with-pdo-sqlite \ --with-mysql-sock=/tmp/mysql.sock \ --with-curl \ --enable-fpm \ --with-fpm-user=www \ --with-fpm-group=www \ --enable-pcntl \ --with-openssl \ --with-mcrypt \ --with-gd \ --with-zlib \ --enable-xml \ --with-freetype-dir \ --with-gettext \ --with-jpeg-dir \ --with-png-dir \ --enable-simplexml \ --disable-rpath \ --enable-bcmath \ --enable-soap \ --enable-zip \ --enable-mbstring \ --enable-mbregex \ --enable-sockets \ --with-mhash \ --enable-opcache \ --disable-fileinfo \ --with-libdir=lib64 \ --with-kerberos \ --with-pear \ --with-xmlrpc \ --with-xsl \ --enable-libxml \ --enable-inline-optimization \ --enable-gd-native-ttf \ --enable-shmop \ --enable-sysvsem \ --enable-maintainer-zts |
如果执行./configure 的时候报错,一般都是缺少包或者路径指定错误, yum安装下缺少的包
make && make install
漫长的等待 ~ ~ ~
报错:libtool: link: `ext/mbstring/oniguruma/enc/iso8859_10.lo’ is not a valid libtool object
解决办法:
yum -y install libtool* 安装libtool包
make clean 清除已经编译过的文件。
make && make install 继续等待~
完成之后把源代码包中提供的开发版php.ini复制到安装目录下
cp php.ini-development /usr/local/php70/php.ini
cd /usr/local/php70/etc
cp php-fpm.conf.default php-fpm.conf
cd /usr/local/php70/etc/php-fpm.d
cp www.conf.default www.conf
最后执行/usr/local/php70/sbin/php-fpm 运行PHP
然后检查进程是否存在
ps -ef |grep php