美文网首页
centos7 安装php5.6.30 nginx

centos7 安装php5.6.30 nginx

作者: 程序员的自我修养 | 来源:发表于2020-05-27 08:51 被阅读0次

    关于php-fpm

    nginx本身不能处理PHP,它只是个web服务器,当接收到请求后,如果是php请求,则发给php解释器处理,并把结果返回给客户端。

    nginx一般是把请求发fastcgi管理进程处理,fascgi管理进程选择cgi子进程处理结果并返回被nginx。

    PHP-FPM是一个PHP FastCGI管理器,是只用于PHP的。

    PHP在 5.3.3 之后已经讲php-fpm写入php源码核心了。所以已经不需要另外下载了。

    获取PHP下载地址

    为什么选择5.6.30这个版本,因为学习,不是研究。诚然,7.0新增了很多PHP的新特性,性能上面也有些提升,如果是研究,倒是可以折腾一番,后面得空再讲7.0的版本以及如何在各个PHP版本之间切换。

    打开php的官网:http://php.net/,查看php的版本列表

    右击,复制链接地址,在远程主机登录,下载该软件(我选的是Australia的主机mirror下载的)

    #wgethttp://au1.php.net/get/php-5.6.30.tar.gz/from/this/mirror

    下载下来的是一个mirror文件,改成我们需要的文件名

    #mvmirror php-5.6.30.tar.gz

    #tarzxvf php-5.6.30.tar.gz

    #cd php-5.6.30

    配置安装

    进入到目录,我们需要在安装的时候将安装目录配置到/usr/local/php/里

    # ./configure --prefix=/usr/local/php --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-MySQL --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-jpeg-dir --with-xsl --with-zlib --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip

    配置的过程中可能会报如下错误

    错误1:

    xml2-config not found. Please check your libxml2 installation.

    解决办法

    安装libxml2相关组件

    #yuminstalllibxml2

    #yuminstalllibxml2-devel -y

    错误2:

    Please reinstall the libcurl distribution -

    easy.h should bein<curl-dir>/include/curl/

    安装curl相关组件

    #yuminstallcurl curl-devel

    错误3:

    configure: error: png.h not found.

    安装libpng相关组件

    #yuminstalllibpng

    #yuminstalllibpng-devel

    错误4:

    freetype-config not found.

    安装freetype相关组件

    #yuminstallfreetype-devel

    错误5:

    xslt-config not found. Please reinstall the libxslt >=1.1.0distribution

    安装libxslt相关组件

    #yuminstalllibxslt-devel

    好的,当我们看到下面这句话的时候,说明你的php已经配置完成啦!

    接下来我们只需要编译安装即可完成php的安装

    #make&&makeinstall

    看到这句话,表明安装完成!

    为了保险起见,我们make test一把,看看是否真的成功了。

    配置相关

    php.ini配置

    首先我们需要配置的是php.ini这个文件

    安装目录有2个文件:php.ini-development和php.ini-production

    php.ini-production 线上版本使用

    php.ini-development 开发版本使用

    我们选择production进行配置

    #cp-a php.ini-production /usr/local/php/lib/php.ini //拷贝安装包里的php配置文件到安装目录下

    # rm -rf /etc/php.ini //删除默认的php配置文件

    # ln -s /usr/local/php/lib/php.ini /etc/php.ini //建立软链接

    php-fpm配置

    拷贝php-fpm启动配置文件

    # cp -a ./sapi/fpm/php-fpm.conf /usr/local/php/etc/php-fpm.conf //拷贝安装包里的php-fpm配置文件到安装目录下

    #cp-a ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm //拷贝启动文件

    启动

    service php-fpm start

    查看php是否启动成功

    #psaux |grepphp

    看到这些,表明你的php已经启动成功啦!

    重启及关闭

    service php-fpm restart service php-fpm stop

    配置Nginx支持PHP

    进入nginx主目录,需要修改nginx.conf

    #vim nginx.conf

    代开下面代码,让Nginx支持PHP,在server代码段里。

    修改完,这段代码变为,红色部分为我们主机目录为/mnt/project,需要修改fastcgi_param SCRIPT_FILENAME指向对应目录即可:

     location ~ \.php$ {

                root           /mnt/project;     //项目根目录

                fastcgi_pass   127.0.0.1:9000;

                fastcgi_index  index.php;

                fastcgi_param  SCRIPT_FILENAME  /mnt/project$fastcgi_script_name;       在$符前面加上项目根目录

                include        fastcgi_params;

            }

    设置主目录设置为/mnt/project。

    location / {

                root   /mnt/project;      //项目根目录

                index  index.html  index.php;

                try_files $uri $uri/ /index.php?$uri&$args;   #用框架开发必须配置url重写配置

            }

    保存退出。

    根据Nginx章的解释,我们重启Nginx服务。

    #/etc/init.d/nginx restart

    如果你没有按照我们在Nginx的方法配置,可以按照以下的方式重启Nginx服务

    # /usr/local/nginx/sbin/nginx -s reload

     重启成功!下面我们在/mnt/project目录下添加一个新文件。

    #vim /mnt/project/phpinfo.php

    插入以下内容

    <?php

    phpinfo();

    ?>

    在浏览器中打开http://远程ip/phpinfo.php

    看到这个页面,恭喜你,你的PHP已经安装配置完成。你可以在这个页面看到所有php依赖的组件,下一节我将和大家详细讲解一下这个页面,如果对本节有什么疑问的,欢迎在评论区和我交流讨论,有留言必回。^_^ 

    设置php开机自启动与开启php服务便捷方式

    上面的方法中,我在拷贝php-fpm的服务时出了问题,不应该直接将php-fpm的可执行文件拷贝到/etc/init.d/目录下去,应该将php给我们准备好的init.d.php-fpm。

    #cp./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

    将php-fpm服务添加到chkconfig列表

    #chkconfig --add php-fpm

    设置开机自启动

    #chkconfig php-fpm on

    以后重启和停止php的方式为

    #service php-fpm start

    #service php-fpm stop

    #service php-fpm restart

    #service php-fpm reload

    [root@localhost htdocs]# php -v

    -bash: php: command not found

    vim etc/profile 环境变量

    在最后加上:

    export PATH=$PATH:/usr/local/php/bin

    相关文章

      网友评论

          本文标题:centos7 安装php5.6.30 nginx

          本文链接:https://www.haomeiwen.com/subject/hbcuohtx.html