在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環境。根據具體需求,可能還需要進行更多的優化和配置。