在CentOS下配置PHP涉及多個要點,以下是一些關鍵步驟和配置項:
首先,需要安裝PHP及其常用的擴展包??梢允褂脃um來安裝:
sudo yum install php php-cli php-fpm php-mysqlnd php-zip php-devel php-gd php-mcrypt php-mbstring php-curl php-xml php-pear php-bcmath php-json
編輯PHP的配置文件php.ini,通常位于/etc/php.ini或/etc/php.d/目錄下。以下是一些常見的配置項:
error_reporting: 設置錯誤報告級別,例如error_reporting = E_ALL。display_errors: 設置是否顯示錯誤信息,例如display_errors = On。log_errors: 設置是否將錯誤記錄到日志文件,例如log_errors = On。memory_limit: 設置PHP腳本可以使用的最大內存,例如memory_limit = 256M。upload_max_filesize: 設置允許上傳的最大文件大小,例如upload_max_filesize = 10M。post_max_size: 設置POST請求允許的最大數據量,例如post_max_size = 12M。date.timezone: 設置時區,例如date.timezone = "Asia/Shanghai"。PHP-FPM(FastCGI Process Manager)是PHP FastCGI的進程管理工具,用于提高PHP的性能和穩定性。
sudo yum install php-fpm
編輯/etc/php-fpm.d/www.conf文件,設置監聽端口或套接字:
listen = 127.0.0.1:9000
或
listen = /run/php-fpm/php-fpm.sock
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
Nginx和Apache都可以與PHP-FPM配合使用,處理PHP請求。
sudo yum install nginx
在/etc/nginx/conf.d/default.conf或/etc/nginx/conf.d/php-fpm.conf中添加以下內容:
server {
listen 80;
server_name your_domain.com;
root /var/www/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
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 start nginx
sudo systemctl enable nginx
sudo yum install httpd httpd-devel
在/etc/httpd/conf/httpd.conf中添加以下內容:
LoadModule php7_module modules/libphp7.so
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
sudo systemctl start httpd
sudo systemctl enable httpd
根據應用需求,安裝并配置PHP擴展。例如,安裝和配置Opcache擴展:
sudo yum install php-opcache
編輯php.ini文件,啟用并配置Opcache:
zend_extension = opcache.so
opcache.enable = 1
opcache.memory_consumption = 64
opcache.max_accelerated_files = 4000
opcache.revalidate_freq = 2
sudo systemctl restart php-fpm
確保防火墻和SELinux配置正確,以允許HTTP和HTTPS流量:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-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
memory_limit。upload_max_filesize和post_max_size。top, htop監控系統資源使用情況。通過以上步驟,可以在CentOS下配置一個高效且穩定的PHP環境。根據具體需求,可能還需要進行更多的優化和配置。