在CentOS上配置PHP环境主要涉及安装、配置、性能优化以及安全配置等方面。以下是一些详细的步骤和技巧:
sudo yum install epel-release -y
sudo yum install php php-cli php-fpm php-mysqlnd php-zip php-gd php-mbstring php-curl php-xml php-bcmath php-json php-opcache
php -i | grep "Loaded Configuration File"
/etc/php.ini
):
memory_limit = 256M
upload_max_filesize = 20M
date.timezone = "Asia/Shanghai"
error_reporting = E_ALL
/etc/php.d
目录下创建新的配置文件(如.user.ini
),添加所需配置指令。/etc/php-fpm.d/www.conf
):
listen = /run/php-fpm/php-fpm.sock
user = nginx
group = nginx
pm = dynamic
pm.max_children = 5
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 10
pm.max_requests = 5
sudo systemctl restart php-fpm
/etc/nginx/conf.d/default.conf
):
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
sudo systemctl restart nginx
sudo yum install php-opcache -y
echo "opcache.enable=1" | sudo tee /etc/php.d/opcache.ini
sudo systemctl restart php-fpm
memory_limit
和max_execution_time
。sudo firewall-cmd --permanent --zone=public --remove-service=http
sudo firewall-cmd --permanent --zone=public --remove-service=https
sudo firewall-cmd --reload
sudo setenforce 0
或
sudo semanage port -a -t http_port_t -p tcp 80
sudo semanage port -a -t http_port_t -p tcp 443
php.ini
中禁用可能被恶意利用的函数,如system
, exec
, shell_exec
等。top
, htop
监控系统资源使用情况。通过以上步骤和技巧,你可以在CentOS上成功配置一个高效且稳定的PHP环境。根据具体需求,可能还需要进行更多的优化和配置。