RockyLinux 安装PHP phpMyAdmin 作者: Hogwarts 发布于: 2023-07-21 更新于: 2023-07-21 分类: 默认分类 #一、安装和设置 PHP ##1.1 引入 PHP repo **目前仅 Rocky Linux 9 支持 arrch64** **1.1.1 如果系统是 Enterprise Linux 9 (CentOS 9, RHEL 9, Rocky Linux 9, AlmaLinux 9) x86_64 aarch64** dnf config-manager --set-enabled crb dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm dnf install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm **1.1.2 如果系统是 Enterprise Linux 8 (CentOS 8, RHEL 8, Rocky Linux 8, AlmaLinux 8) x86_64** dnf config-manager --set-enabled powertools dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm **1.1.3 如果系统是 RHEL 7 or CentOS 7 x86_64** yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm yum install -y yum-utils ##1.2 安装 PHP **1.2.1 如果系统是 Enterprise Linux 9 (CentOS 9, RHEL 9, Rocky Linux 9, AlmaLinux 9), Enterprise Linux 8 (CentOS 8, RHEL 8, Rocky Linux 8, AlmaLinux 8)** dnf module reset -y php dnf module install -y php:remi-8.2 **1.2.2 如果系统是 RHEL 7 or CentOS 7 x86_64** yum-config-manager --disable 'remi-php*' yum-config-manager --enable remi-php82 ##1.3 安装 PHP 其他必要的组件 dnf install -y php-cli php-bcmath php-embedded php-gd php-imap php-mysqlnd php-dba php-pdo php-pdo-dblib php-pgsql php-odbc php-enchant php-gmp php-intl php-ldap php-snmp php-soap php-tidy php-opcache php-process php-pspell php-shmop php-sodium php-ffi php-brotli php-lz4 php-xz php-zstd dnf install -y php-pecl-imagick-im7 php-pecl-zip php-pecl-mongodb php-pecl-swoole5 php-pecl-grpc php-pecl-yaml php-pecl-uuid ##1.4 确认安装 PHP 版本及模块 php -v php -m ##1.5 调试 PHP **1.5.1 编辑 PHP 的 php-fpm 配置文件 etc/php-fpm.d/www.conf** sed -i "s@^user.*@user = nginx@" /etc/php-fpm.d/www.conf sed -i "s@^group.*@group = nginx@" /etc/php-fpm.d/www.conf sed -i "s@^listen.acl_users.*@listen.acl_users = apache,nginx@" /etc/php-fpm.d/www.conf sed -i "s@^;php_value\[opcache.file_cache\].*@php_value\[opcache.file_cache\] = /var/lib/php/opcache@" /etc/php-fpm.d/www.conf 因安装Nginx,不安装caddy,故将原博的caddy用户删除。 **1.5.2 更改 PHP 的目录权限** chown root.nginx /var/lib/php/session chown root.nginx /var/lib/php/wsdlcache chown root.nginx /var/lib/php/opcache **1.5.3 编辑 PHP 的配置文件 /etc/php.ini,使其更加符合生产环境,以及支持 MariaDB 连接** sed -i "s@^disable_functions.*@disable_functions = passthru,exec,shell_exec,system,chroot,chgrp,chown,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore@" /etc/php.ini sed -i "s@^max_execution_time.*@max_execution_time = 300@" /etc/php.ini sed -i "s@^max_input_time.*@max_input_time = 300@" /etc/php.ini sed -i "s@^post_max_size.*@post_max_size = 50M@" /etc/php.ini sed -i "s@^upload_max_filesize.*@upload_max_filesize = 50M@" /etc/php.ini sed -i "s@^expose_php.*@expose_php = Off@" /etc/php.ini sed -i "s@^short_open_tag.*@short_open_tag = On@" /etc/php.ini sock_location="/var/lib/mysql/mysql.sock" sed -i "s#mysqli.default_socket.*#mysqli.default_socket = ${sock_location}#" /etc/php.ini sed -i "s#pdo_mysql.default_socket.*#pdo_mysql.default_socket = ${sock_location}#" /etc/php.ini ##1.6 启动 php-fpm 服务 systemctl start php-fpm systemctl status php-fpm systemctl enable php-fpm ##1.7 测试安装情况 默认已安装 Nginx 1.24.0 具体安装方法见`https://winamp.top/191.html` 中**1.2**小节。 ###1.7.1 修改nginx默认配置文件 vim /etc/nginx/conf.d/default.conf 第一处 location / { root /usr/share/nginx/html; index index.html index.htm index.php; #添加index.php } 第二处 将#号注释取消 location ~ \.php$ { root /usr/share/nginx/html/phpmyadmin/index.php; fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_index index.php; #fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; #此处修改为下面内容 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } ###1.7.2 测试 phpinfo 的输出情况 在网站根目录 /usr/share/nginx/html 下新建 index.php 文件。并输入以下内容 ### 1.7.3 测试输出情况 在浏览器下输入 `http://yourvpsIP/index.php` ## 1.8 测试 PHP 和 Mysql 连接情况 **1.8.1 在网站根目录 /usr/share/nginx/html 下新建 mysql.php 文件。并输入以下内容** getMessage(); } ?> **1.8.2 测试** 在浏览器下输入 `http://yourvpsIP/mysql.php` 连接成功,则页面显示 “**连接成功**” 字样。 失败则返回相关信息如:SQLSTATE[HY000] [2002] No such file or directory 失败检查数据库地址用户密码即可。 #二、phpMyAdmin 安装 ##2.1 下载并解压改名 将phpmyadmin下载到 Nginx 指定的网站根目录下 wget https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz -O /usr/share/nginx/html/ tar -zxvf phpMyAdmin-5.2.1-all-languages.tar.gz mv phpMyAdmin-5.2.1-all-languages phpmyadmin ##2.2 修改配置文件 cp config.sample.inc.php config.inc.php vim config.inc.php 在 $cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */ 这一行中的单引号里输入32位数字或字母,称为COOKIE。 #具体的几种模式不讨论。 ##2.3 测试phpMyAdmin 在浏览器中输入 `http://yourvpsIP/phpmyadmin` 不出意外则看到 “欢迎使用 phpMyAdmin” 的页面。 输入“Mysql”的“用户名”和“密码”测试是否可用。 ##2.4 小建议 建议不要用这种方法进行设置phpmyadmin,这是http连接,有泄露密码的风险。 建议设置nginx域名反代,进行https连接。 #三、参考 [LCMP (Linux + Caddy + MariaDB + PHP)](https://teddysun.com/700.html "LCMP (Linux + Caddy + MariaDB + PHP)") [Linux(CentOS 8)手动搭建LNMP(Linux+Nginx+Mysql+PHP)坏境](https://www.ywbj.cc/?p=111 "Linux(CentOS 8)手动搭建LNMP(Linux+Nginx+Mysql+PHP)坏境") 标签: PHP, phpmyadmin