编译安装:https://amon.org/php73-compiling
【安装PHP内核(yum)】
CentOS 7 环境:
1 | dnf -y install https: //dl .fedoraproject.org /pub/epel/epel-release-latest-7 .noarch.rpm && dnf -y install https: //rpms .remirepo.net /enterprise/remi-release-7 .rpm |
安装 PHP 7.3 :
1 2 | yum --enablerepo=remi-php73 install php php-fpm yum --enablerepo=remi-php73 install php-cli php-json php-xml php-bcmath php-gd php-imap php-xmlrpc php-opcache php-mbstring php-intl php-soap php-mcrypt php-pdo php-mysqlnd php-zip |
CentOS 8 环境:
1 | dnf -y install https: //dl .fedoraproject.org /pub/epel/epel-release-latest-8 .noarch.rpm && dnf -y install https: //rpms .remirepo.net /enterprise/remi-release-8 .rpm |
查看 PHP 包:
1 | sudo dnf module list | grep php |
输出:
1 2 3 4 5 6 7 8 9 10 11 12 | php 7.2 [d] common [d], devel, minimal PHP scripting language php 7.3 common [d], devel, minimal PHP scripting language php 7.4 common [d], devel, minimal PHP scripting language php 7.2 [d] common [d], devel, minimal PHP scripting language php 7.3 common [d], devel, minimal PHP scripting language php 7.4 common [d], devel, minimal PHP scripting language php remi-7.2 common [d], devel, minimal PHP scripting language php remi-7.3 common [d], devel, minimal PHP scripting language php remi-7.4 [e] common [d] [i], devel, minimal PHP scripting language php remi-8.0 common [d], devel, minimal PHP scripting language php remi-8.1 common [d], devel, minimal PHP scripting language php remi-8.2 common [d], devel, minimal PHP scripting language |
安装 PHP 7.4 :
1 2 | dnf module install php:remi-7.4 dnf install php-cli php-json php-xml php-bcmath php-gd php-imap php-xmlrpc php-opcache php-mbstring php-intl php-soap php-mcrypt php-pdo php-mysqlnd php-gmp php-zip |
卸载 PHP 7.4 :
1 2 3 | dnf module remove php:remi-7.4 dnf remove php-cli php-json php-xml php-bcmath php-gd php-imap php-xmlrpc php-opcache php-mbstring php-intl php-soap php-mcrypt php-pdo php-mysqlnd php-gmp php-zip dnf module reset php:remi-7.4 |
卸载 PHP 7.3 :
1 2 3 | dnf module remove php:remi-7.3 dnf remove php-cli php-json php-xml php-bcmath php-gd php-imap php-xmlrpc php-opcache php-mbstring php-intl php-soap php-mcrypt php-pdo php-mysqlnd php-gmp php-zip dnf module reset php:remi-7.3 |
注意:卸载后升级需要重新配置 PHP
1. https://amon.org/php-ioncube
2. ERROR: unable to bind listening socket for address ‘/run/php-fpm/www.sock’: No such file or directory (2)
创建目录 /run/php-fpm :
1 | cd /run/ && mkdir php-fpm |
然后重启 php-fpm :
1 | service php-fpm start |
输出:
1 | Starting php-fpm done |
查看版本:
1 | php - v |
【路径】
php 文件路径:
1 | find / -name php |
输出:
1 2 3 4 | /usr/bin/php /usr/share/php /usr/lib64/php /var/lib/php |
php.ini 路径:
1 | find / -name php.ini |
输出:
1 | /etc/php .ini |
PHP 扩展模块路径:
1 | /usr/lib64/php/modules/ |
【安装其他PHP扩展】
安装 ioncube :
参考:https://amon.org/php-ioncube
安装 redis :
1 | dnf install php-redis |
安装 memcached :
参考:https://amon.org/php-memcached
1 | dnf install php-memcached |
【配置】
php 配置文件路径:
1 | /etc/php .ini |
php-fpm 配置文件路径:
1 2 | /etc/php-fpm .conf /etc/php-fpm .d /www .conf |
编辑 php-fpm服务的配置文件 /etc/php-fpm.d/www.conf :
修改用户和组为nginx:
1 2 | user = nginx group = nginx |
创建目录 /run/php-fpm :
1 | cd /run/ && mkdir php-fpm |
编辑 /etc/init.d/php-fpm :
1 2 3 | php_fpm_BIN= /usr/sbin/php-fpm php_fpm_CONF= /etc/php-fpm .conf php_fpm_PID= /run/php-fpm/php-fpm .pid |
php-fpm 服务设置:
dos2unix 转换/设置执行权限/注册成服务/设置开机启动
1 | dos2unix /etc/init .d /php-fpm && chmod a+x /etc/init .d /php-fpm && chkconfig --add php-fpm && chkconfig php-fpm on |
使用 service 来启动 php-fpm:
1 2 | service php-fpm start service php-fpm stop |
【排错】
报错:connect() failed (111: Connection refused) while connecting to upstream … upstream: “fastcgi://127.0.0.1:9000”
查看 /etc/php-fpm.d/www.conf :
1 | listen = /run/php-fpm/www .sock |
或:
1 | listen = 127.0.0.1:9000 |
编辑 nginx.conf :
1 2 | # fastcgi_pass 127.0.0.1:9000; fastcgi_pass unix: /run/php-fpm/www .sock; |
报错:open(SESSION_FILE, O_RDWR) failed: Permission denied (13)
phpMyAdmin报错。
1 | mkdir /var/lib/php && mkdir /var/lib/php/session && chmod -R 777 /var/lib/php/session |
如果目录存在却依然报错,尝试:
1 | chmod -R 777 /var/lib/php/session |