一、PHP安装
lnmp环境中,最难安装的就是php了,太多的依赖库和选项了,根本不知道有什么用,总是有很多依赖库导致环境安装不了。
php的下载地址:香港的源-php-v7.2.11.tar.gz,当前最新版本7.2.11,先下载下来解压:
1 2 |
> wget https://hk1.php.net/get/php-7.2.11.tar.gz/from/this/mirror -O php-7.2.11.tar.gz > tar -zxvf php-7.2.11.tar.gz && cd php-7.2.11 |
下载好后安装依赖项,php的依赖项太多了,建议使用yum直接安装:
1 2 3 4 |
> yum install libxml2 libxml2-devel openssl openssl-devel \ bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel \ libpng libpng-devel freetype freetype-devel gmp gmp-devel \ libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel |
编译源码,指定安装路径/usr/local/php-7.2.11
,用户设置www
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
> ./configure --prefix=/usr/local/php-7.2.11 \ --enable-fpm --with-fpm-user=www --with-fpm-group=www \ --enable-mysqlnd --with-mysqli --with-pdo-mysql \ --with-jpeg-dir --with-curl --with-freetype-dir \ --with-gettext --with-iconv-dir --with-kerberos \ --with-libdir --with-libxml-dir --with-openssl \ --with-pcre-regex --with-pdo-sqlite --with-pear \ --with-png-dir --with-xmlrpc --with-xsl --with-zlib \ --enable-bcmath --enable-inline-optimization \ --enable-mbregex --enable-zip --enable-xml\ --enable-mbstring --enable-opcache=no --enable-libxml \ --enable-pcntl --enable-shmop --enable-soap --enable-sockets \ --enable-sysvsem > make # 编译 ... Generating phar.php Generating phar.phar PEAR package PHP_Archive not installed: generated phar will require PHP's phar extension be enabled. directorygraphiterator.inc clicommand.inc pharcommand.inc directorytreeiterator.inc invertedregexiterator.inc phar.inc Build complete. Don't forget to run 'make test'. > make install # 安装 Installing PHP CLI binary: /usr/local/php-7.2.11/bin/ Installing PHP CLI man page: /usr/local/php-7.2.11/php/man/man1/ Installing PHP FPM binary: /usr/local/php-7.2.11/sbin/ Installing PHP FPM defconfig: /usr/local/php-7.2.11/etc/ Installing PHP FPM man page: /usr/local/php-7.2.11/php/man/man8/ Installing PHP FPM status page: /usr/local/php-7.2.11/php/php/fpm/ Installing phpdbg binary: /usr/local/php-7.2.11/bin/ Installing phpdbg man page: /usr/local/php-7.2.11/php/man/man1/ Installing PHP CGI binary: /usr/local/php-7.2.11/bin/ Installing PHP CGI man page: /usr/local/php-7.2.11/php/man/man1/ Installing build environment: /usr/local/php-7.2.11/lib/php/build/ Installing header files: /usr/local/php-7.2.11/include/php/ Installing helper programs: /usr/local/php-7.2.11/bin/ program: phpize program: php-config Installing man pages: /usr/local/php-7.2.11/php/man/man1/ page: phpize.1 page: php-config.1 Installing PEAR environment: /usr/local/php-7.2.11/lib/php/ [PEAR] Archive_Tar - installed: 1.4.3 [PEAR] Console_Getopt - installed: 1.4.1 [PEAR] Structures_Graph- installed: 1.1.1 [PEAR] XML_Util - installed: 1.4.2 [PEAR] PEAR - installed: 1.10.5 Wrote PEAR system config file at: /usr/local/php-7.2.11/etc/pear.conf You may want to add: /usr/local/php-7.2.11/lib/php to your php.ini include_path /data/software/php-7.2.11/build/shtool install -c ext/phar/phar.phar /usr/local/php-7.2.11/bin ln -s -f phar.phar /usr/local/php-7.2.11/bin/phar Installing PDO headers: /usr/local/php-7.2.11/include/php/ext/pdo/ |
二、设置配置文件和启动服务
2.1 添加配置文件
在安装包根目录下执行:
1 2 3 |
> cp php.ini-development /usr/local/php/lib/php.ini > cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf > cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf |
2.2 设置service启动
php-fpm的service服务的文件在sapi/fpm/init.d.php-fpm
:
1 2 |
> cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm > chmod +x /etc/init.d/php-fpm |
启动php-fpm服务:
1 2 3 4 5 6 7 8 9 10 11 |
> service php-fpm start Starting php-fpm done > ps aux | grep php-fpm root 19532 0.0 0.2 108768 6024 ? Ss 22:37 0:00 php-fpm: master process (/usr/local/php-7.2.11/etc/php-fpm.conf) www 19533 0.0 0.2 108768 5476 ? S 22:37 0:00 php-fpm: pool www www 19534 0.0 0.2 108768 5476 ? S 22:37 0:00 php-fpm: pool www root 19541 0.0 0.0 103320 888 pts/0 S+ 22:47 0:00 grep php-fpm > netstat -apn | grep php-fpm # php-fpm监听的是9000端口 tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 19532/php-fpm unix 3 [ ] STREAM CONNECTED 176421 19532/php-fpm unix 3 [ ] STREAM CONNECTED 176420 19532/php-fpm |
2.3 设置systemd启动
编译完成后,系统就配置好了一份systemd的service文件,放在./sapi/fpm/php-fpm.service
目录下,复制到/etc/systemd/system/
目录下去:
1 2 3 4 |
> find . -name "php-fpm.service" ./sapi/fpm/php-fpm.service > find . -name "php-fpm.service" | xargs -i sudo cp {} /etc/systemd/system/ > systemctl daemon-reload |
然后通过systemctl start php-fpm
即可启动。
三、测试
参考https://www.dyxmq.cn/other/nginx/nginx-and-php-fpm.html配置测试:
评论