MENU

快速编译安装PHP

March 22, 2019 • Linux

警告

这篇文章安装的环境为RHEL7与PHP-7.3以下的版本

首先下载安装包

官网:http://php.net/快速下载项目(Github):https://blog.loger.ink/p/github.html

安装环境准备

安装编译需要的依赖包:yum install -y libxml2-devel libvpx-devel libjpeg-devel libpng-devel freetype-devel mysql-devel mysql libmcrypt-devel openssl-devel libcurl-devel

创建php用户:groupadd -r wwwpub && useradd -r -g wwwpub -s /sbin/nologin -M wwwpub

几个值得这注意的预编译模块选项:

       --prefix=安装目录              #为了方便以后的版本识别,一般来说安装目录是/usr/local/php-版本号,比如:/usr/local/php-7.2.5

       --with-config-file-path=配置文件目录            #目的同上,目录一般来说是/usr/local/php-版本号/etc,例如:/usr/local/php-7.2.5/etc

       --enable-fpm                     #至关重要,启用php-fpm

       --with-fpm-user=wwwpub #运行的用户

       --with-fpm-group=wwwpub     #运行的组

       --with-mysqli=mysqlnd --with-pdo-mysql --enable-mysqlnd    #链接数据库需要

       其他模块选项:

              --with-zlib --with-gd --with-png-dir --with-jpeg-dir --with-gettext --with-freetype-dir --with-openssl

              --with-curl --enable-exif --enable-sockets --enable-bcmath --enable-mbstring --enable-pcntl

              --enable-calendar --enable-opcache --enable-zip

       更多模块选项可以在安装目录的include/php/ext目录下找到,或者在网络上找到

       如何在安装完成后添加模块:

              Ⅰ   进入模块目录(有些在安装目录的include/php/ext目录下,其他需要自己下载)

              Ⅱ   执行`安装目录/bin/phpize` -> 执行`./configure `--with-php-config=安装目录/bin/php-config` -> 执行`make -j4 && make install`

              安装完成后要在php.ini文件中加入配置项(例)

              mbstring插件

              extension = mbstring.so

 

              swoole插件

              extension = swoole.so

 

             

              opcache插件

              zend_extension=opcache.so

              opcache.enable=1

              opcache.enable_cli=1

              opcache.file_cache=/home/opcache

              opcache.huge_code_pages=1

 

安装完成后的配置

软连接安装目录到/usr/local/php              #为了方便更换版本,例如:ln -s /usr/local/php-7.2.5 /usr/local/php

软连接:ln -s /usr/local/php/etc /etc/php

软连接:ln -s /usr/local/php/bin/* /usr/bin/

软连接:ln -s /usr/local/php/sbin/* /usr/sbin/

 

 

编辑服务文件:vim /etc/systemd/system/php-fpm.service

       配置如下:

              [Unit]

              Description=The PHP FastCGI Process Manager

              After=syslog.target network.target

 

              [Service]

              Type=simple

              PIDFile=/run/php-fpm.pid

              ExecStart=/bin/nice --10 /usr/local/php/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php/etc/php-fpm.conf -c /usr/local/php/etc/php.ini

              ExecReload=/bin/kill -USR2 $MAINPID

              ExecStop=/bin/kill $MAINPID

              [Install]

              WantedBy=multi-user.target

 

配置文件:

       cp /解压目录/php.ini-production /安装目录/etc/php.ini

       cp /安装目录/etc/php-fpm.conf.default /安装目录/etc/php-fpm.conf

       cp /安装目录/etc/php-fpm.d/www.conf.default /安装目录/etc/php-fpm.d/www.conf

 

如果需要修改监听数量,修改件/usr/local/php/etc/php-fpm.d/www.conf文件

       修改pm.start_servers = 数量            同时启用数量个监听

 

如果需要修改php上传文件大小的限制

       在 php.ini 中编辑如下内容       #大小自定

              upload_max_filesize = 500M

              post_max_size = 500M

              maxexecutiontime = 300

Tags: php
最后编辑于: March 28, 2019
Archives QR Code Tip
QR Code for this page
Tipping QR Code