安装PHP
1.1 安装libxml2,安装路径为/usr/local/libxml2
[root@localhost local]# mkdir -p libxml2
[root@localhost local]# tar -zxvf libxml2-2.7.4.tar.gz
[root@localhost local]# cd libxml2-2.7.4
[root@localhost libxml2-2.7.4]# ./configure --prefix=/usr/local/libxml2
[root@localhost libxml2-2.7.4]# make
[root@localhost libxml2-2.7.4]# make install
报错:
错误解决方法
./configure --prefix=/usr/local/libxml2 --with-python=no ,(或者安装python-devel)
make clean
make
make install
1.2 安装php7.1.2,安装路径为/usr/local/phpinstall/php-7.1.2
[root@localhost local]# mkdir -p php
[root@localhost local]# tar -zxvf php-5.6.3.tar.gz
[root@localhost local]# cd php-5.6.3
[root@localhost php-7.1.2]#./configure --prefix=/usr/local/phpinstall/php-7.1.2 --enable-mysqlnd --with-apxs2=/usr/local/apache2/bin/apxs --with-libxml-dir=/usr/local/libxml2 --with-mysqli=/usr/bin/mysql_config --enable-embedded-mysqli --with-pdo-mysql=/usr --enable-maintainer-zts
或者
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql --with-mysqli --with-pdo-mysql --with-apxs2=/usr/sbin/apxs --with-gd --with-jpeg-dir --with-png-dir --enable-mbstring --enable-xml --with-xpm-dir=/usr --enable-fpm --with-freetype-dir --with-mcrypt --with-mhash --enable-pdo --with-libxml-dir --with-zlib-dir --with-curl=/usr/include/curl
如果出现没有找到mysql.h文件等其他一些有关数据库的问题,可以先安装mysql-devel包
yum install mysql-devel
Thank you for using PHP.
config.status: creating php5.spec
config.status: creating main/build-defs.h
config.status: creating scripts/phpize
config.status: creating scripts/man1/phpize.1
config.status: creating scripts/php-config
config.status: creating scripts/man1/php-config.1
config.status: creating sapi/cli/php.1
config.status: creating sapi/cgi/php-cgi.1
config.status: creating ext/phar/phar.1
config.status: creating ext/phar/phar.phar.1
config.status: creating main/php_config.h
config.status: executing default commands
[root@localhost php-7.1.2]#make
[root@localhost php-7.1.2]#make install
安装成功。
1.3 配置PHP,在源码根路径下,把php.ini-production文件移动到安装路径下的lib中,并重命名为php.ini
[root@localhost php-7.1.2]# cp php.ini-production /usr/local/phpinstall/php-7.1.2/lib/php.ini
1.4 配置 httpd.conf 让apache支持PHP
# vi /usr/local/apache2/conf/httpd.conf
a. 找到 AddType application/x-gzip .gz .tgz 在其下添加如下内容
AddType application/x-httpd-php .php (.前面有空格)
AddType application/x-httpd-php-source .phps (.前面有空格)
b. 在DirectoryIndex增加index.php,以便Apache识别PHP格式的index
# vi /usr/local/apache/conf/httpd.conf
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
第二种原因:
在php.ini里,eaccelerator配置项一定要放在Zend Optimizer配置之前,否则也可能引起502 Bad Gateway
第三种原因:
在安装好使用过程中出现502问题,一般是因为默认php-cgi进程是5个,可能因为phpcgi进程不够用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 将其中的max_children值适当增加。
第四种原因:
php执行超时,修改/usr/local/php/etc/php.ini 将max_execution_time 改为300