Linux配置LNMP环境(二)配置PHP
前言:本教程安装的PHP版本php-5.6.30(官方最后更新日期2017-01-19),教程编写日期2017-07-02。本教程中的下载地址是在写教程的时候从官方复制的,时间过长可能会有变化。
安装PHP的时候依赖好几个库 gd zlib zlib-devel openssl openssl-devel libxml2 libxml2-devel libjpeg libjpeg-devel libpnglibpng-devel,注意这些库你会发现好多库都对应的devel这是因为不带devel的是二进制文件,带devel的里面有头文件、格式之类的。如有时候你安装一些软件的时候提示你缺少openssl 当你yum安装上的时候,还是提示你缺少openssl ,这个时候你不要惊慌,习惯性的吧openssl-devel也装上往往就能解决了
1.安装依赖库。代码:yum install gd zlib zlib-devel openssl openssl-devel libxml2 libxml2-devel libjpeg libjpeg-devel libpng libpng-devel直接回车一路y确认就行了
2.安装PHP从管网上下载地址http://cn2.php.net/get/php-5.6.30.tar.gz/from/this/mirror(如果没有找到中国的地址请刷新一下页面,有时候加载太慢没有出来,楼主就到过).下载到路径/usr/local/src
3.改名字文件名mirror 改成 php-5.6.30。代码:mv mirror php-5.6.30
4.解压,多出来一个php-5.6.30 目录,cd php-5.6.30
5.配置PHP,代码如下,当你想换行的时候千万不要直接回车,要打一个反斜线\ ,注意反斜杠\后面前面不要有空格
./configure --prefix=/usr/local/php5.6 \
--with-gd \
--enable-gd-native-ttf \
--enable-mysqlnd \
--with-mysql=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-openssl \
--enable-mbstring \
--enable-fpm
6.编译和安装。代码: make && make install 这个需要的时间长,请耐心等待.(注意中间有两个&符号,我第二次装的时候打了一个,然后报错libtool: link: `ext/opcache/zend_accelerator_debug.lo' is not a valid libtoo.....,然后一直安装不上,这个应该是破坏了你解压PHP中的文件(参考网址:http://blog.csdn.net/u012599988/article/details/44942223),然后我就删掉了重新解压了一下,然后重新配置PHP,编译和安装, 这个过程比较长.)
7.安装完成,提示如下.
Wrote PEAR system config file at: /usr/local/php5.6/etc/pear.conf
You may want to add: /usr/local/php5.6/lib/php to your php.ini include_path(注意这句话的意思是你可能需要在/usr/local/php5.6/lib/目录下添加php.ini文件)
/usr/local/src/php-5.6.30/build/shtool install -c ext/phar/phar.phar /usr/local/php5.6/bin
ln -s -f phar.phar /usr/local/php5.6/bin/phar
Installing PDO headers: /usr/local/php5.6/include/php/ext/pdo/
8.切换目录cd /usr/local/php5.6启动PHP。代码: ./sbin/php-fpm 这个时候出错了
第一行:ERROR: failed to open configuration file '/usr/local/php5.6/etc/php-fpm.conf': No such file or directory (2)
第二行: ERROR: failed to load configuration file '/usr/local/php5.6/etc/php-fpm.conf'
第三行:ERROR: ERROR: FPM initialization failed
9. 这个错误的意思是找不到在这个路径找不到配置文件/usr/local/php5.6.3--with-gd/etc/php-fpm.conf,这个时候你ls etc下面,发现有一个文件php-fpm.conf.default.这个是PHP自带的配置文件的例子,你直接复制一下改成错误提示的那个文件名字就行了.代码:cp etc/php-fpm.conf.default etc/php-fpm.conf
10.启动PHP。代码:./sbin/php-fpm 恭喜安装启动PHP成功了。
11.整合PHP和Nginx服务,打开/usr/local/nginx/conf/nginx.conf,在65-71之间有这么几句代码(显示行号vim命令模式set nu),一下代码加粗部分是需要改的,$DOCUMENT_ROOT就是代表服务的根目录.$fastcgi_script_name变量代表执行文件(例:a.php)
65 location ~ \.php$ {
66 root html;
67 fastcgi_pass 127.0.0.1:9000;
68 fastcgi_index index.php;
69 fastcgi_param SCRIPT_FILENAME $DOCUMENT_ROOT$fastcgi_script_name;
70 include fastcgi_params;
71 }
12.在/usr/local/nginx/html下面创建文件vim a.php,内容为<?php phpinfo(); ?> ,打开浏览器[http://你的ip/a.php],这个时候看第六行Configuration File (php.ini) Path对应的值是/usr/local/php5.6/lib ,紧挨着一下行Loaded Configuration File对应的值(none)。这说明PHP没有在咱们/usr/local/php5.6/lib目录下找到我们的PHP配置文件。不用怕我们的解压出来的文件里面就有,在/usr/local/src/php-5.6.30这个目录下面有两个php.ini-development和php.ini-production。php.ini-development适用于开发,错误会尽量多报。所以我们用这个。代码:cp /usr/local/src/php-5.6.30/php.ini-development /usr/local/php5.6/lib/php.ini
13.最后杀掉PHP重启一下,pkill -9 php,开启./sbin/php-fpm
14.打开浏览器[http://你的ip/a.php],大功告成!~!~!~