Linux配置LNMP环境(二)配置PHP

程序
0 371
caixiaoxu
2018-10-30

提示:这篇文章是别人很久前写到,所以版本肯定有偏差。实际上如果没有什么特殊的要求,集成环境还是非常方便快捷的,装逼归装逼,干活归干活


前言:本教程安装的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.confYou 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/binln -s -f phar.phar /usr/local/php5.6/bin/pharInstalling 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,内容为 ,打开浏览器[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],大功告成!~!~!~

转发自:https://www.cnblogs.com/wangzhaobo/p/7104151.html


回帖