2019独角兽企业重金招聘Python工程师标准>>>
预备: 1、php5.6.41源码包(请自行到官网获取,传送门【PHP官网源码包列表界面】)
2、下载位置:/usr/local/src
3、安装位置:/usr/local/php/php5.6.37
一、装依赖
yum install -y libxml2-dev libpng12-dev libfreetype6-dev openssl libcurl3-openssl-dev libjpeg-dev
yum install -y gcc gcc-c++ make zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers
yum -y install ntp make openssl openssl-devel pcre pcre-devel libpng libpng-devel libjpeg-6b libjpeg-devel-6b freetype freetype-devel gd gd-devel zlib zlib-devel gcc gcc-c++ libXpm libXpm-devel ncurses ncurses-devel libmcrypt libmcrypt-devel libxml2 libxml2-devel imake autoconf automake screen sysstat compat-libstdc++-33 curl curl-devel
二、创建PHP对应用户及用户组
groupadd www56
useradd -g www56 www56
三、./configure 1)解压源码包:
tar -zxvf php-5.6.37.tar.gz
cd php-5.6.37
2)确认:
- 安装目录:/usr/local/php/php5.6.37
- 指定配置文件位置:--with-config-file-path=/usr/local/php/php5.6.37/etc
3)初始化(如要详细自己配置,可用./configure --help自行查看):
./configure --prefix='/usr/local/php/php5.6.37' --with-config-file-path=/usr/local/php/php5.6.37/etc --with-pdo-pgsql --with-zlib-dir --with-freetype-dir --enable-mbstring --with-libxml-dir=/usr --enable-soap --enable-calendar --with-curl --with-gd --with-pgsql --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --enable-exif --enable-bcmath --with-mhash --enable-zip --with-pcre-regex --with-pdo-mysql --with-mysqli --with-jpeg-dir=/usr --with-png-dir=/usr --with-openssl --with-fpm-user=www56 --with-fpm-group=www56 --with-libdir=/lib/x86_64-linux-gnu/ --enable-ftp --with-gettext --with-xmlrpc --with-xsl --enable-opcache --enable-fpm --with-iconv --with-xpm-dir=/usr --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-mysql-sock=/data/mysqldata/3306/mysql.sock --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pear
四、编译安装
1、make(先make,缺啥依赖它会输出给你提示,缺啥就装啥)
make
2、make test(根据make打印的提示,我们坐下编译测试,继续排错,尽量细心一点、耐心一点)
make test
3、make install(一次次排错,重试,最后再install)
make install
4、根据make install的可能的提示信息做进一步完善操作: 1)You may want to add: /usr/local/php/php5.6.37/lib/php to your php.ini include_path 打开php.ini配置文件,用PHP的include_path语法include进去
find / -name php.ini
#将上述所说的路径Inlclude进去
vim php.ini
include_path=".:/usr/local/php/php5.6.37/lib/php"
2)/root/src/php-5.6.37/build/shtool install -c ext/phar/phar.phar /usr/local/php/php5.6.37/bin
#照做
/root/src/php-5.6.37/build/shtool install -c ext/phar/phar.phar /usr/local/php/php5.6.37/bin
3)ln -s -f phar.phar /usr/local/php/php5.6.37/bin/phar
#照做
ln -s -f phar.phar /usr/local/php/php5.6.37/bin/phar
5、安装完成
五、记录信息
1、php
(1)命令位置:/usr/local/php56/bin/php
(2)配置文件位置:/usr/local/php56/lib/php.ini
2、php-fpm
(1)命令位置:/usr/local/php56/sbin/php-fpm
(2)配置文件位置:/usr/local/php56/etc/php-fpm.conf
(3)相关命令(启动、关闭、重启) /usr/local/php56/sbin/php-fpm start/restart/stop
3、建议将php和php-fpm软链到/usr/bin
ln -s /usr/local/php/php5.6.37/bin/php /usr/bin/php
#sbin下的命令只有root用户才能使用
ln -s /usr/local/php/php5.6.37/sbin/php-fpm /usr/sbin/php-fpm
4、如果要多版本PHP共存,可以在软链时起个自己好记的别名,比如php56、php70,建议至少保留一个版本的默认名字叫php
5、配置自定义PHP-fpm: 为了配置php-fpm可以自由启动,将init.d.php-fpm放在启动里面
cp /usr/local/src/php-5.6.37/sapi/fpm/init.d.php-fpm /etc/init.d/php56-fpm
chmod +x /etc/init.d/php56-fpm
#php-fpm进程管理器的开关重启
/etc/init.d/php56-fpm start|stop|restart
6、那么最后,怎么下载我这个对应PHP版本的对应的扩展呢?
#使用与php的bin目录同级的pecl,如安装mongodb
/usr/local/php/php5.6.37/bin/pecl install mongodb