阅读量:83
在CentOS下配置PHP涉及多个要点,以下是一些关键步骤和配置项:
1. 安装PHP及其扩展
首先,需要安装PHP及其常用的扩展包。可以使用yum来安装:
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
2. 配置PHP
编辑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"。
3. 配置PHP-FPM
PHP-FPM(FastCGI Process Manager)是PHP FastCGI的进程管理工具,用于提高PHP的性能和稳定性。
- 安装PHP-FPM:
sudo yum install php-fpm
- 配置PHP-FPM:
编辑/etc/php-fpm.d/www.conf文件,设置监听端口或套接字:
listen = 127.0.0.1:9000
或
listen = /run/php-fpm/php-fpm.sock
- 启动并启用PHP-FPM:
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
4. 配置Nginx或Apache
Nginx和Apache都可以与PHP-FPM配合使用,处理PHP请求。
配置Nginx:
- 安装Nginx:
sudo yum install nginx
- 配置Nginx与PHP-FPM:
在/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;
}
}
- 启动Nginx:
sudo systemctl start nginx
sudo systemctl enable nginx
配置Apache:
- 安装Apache:
sudo yum install httpd httpd-devel
- 配置Apache与PHP:
在/etc/httpd/conf/httpd.conf中添加以下内容:
LoadModule php7_module modules/libphp7.so
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
SetHandler application/x-httpd-php
- 启动Apache:
sudo systemctl start httpd
sudo systemctl enable httpd
5. 配置PHP扩展
根据应用需求,安装并配置PHP扩展。例如,安装和配置Opcache扩展:
- 安装Opcache:
sudo yum install php-opcache
- 配置Opcache:
编辑php.ini文件,启用并配置Opcache:
zend_extension = opcache.so
opcache.enable = 1
opcache.memory_consumption = 64
opcache.max_accelerated_files = 4000
opcache.revalidate_freq = 2
- 重启PHP-FPM:
sudo systemctl restart php-fpm
6. 防火墙和SELinux配置
确保防火墙和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
- 配置SELinux:
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
7. 性能优化
- 启用OPcache: 如前所述,启用OPcache可以显著提高PHP代码的执行效率。
- 调整内存限制: 根据服务器内存调整
memory_limit。 - 调整文件上传大小: 根据需要调整
upload_max_filesize和post_max_size。
8. 监控和日志管理
- 监控工具: 使用工具如
top,htop监控系统资源使用情况。 - 日志管理: 定期检查和分析系统日志和PHP错误日志,以便及时发现和解决问题。
通过以上步骤,可以在CentOS下配置一个高效且稳定的PHP环境。根据具体需求,可能还需要进行更多的优化和配置。