在Ubuntu上优化PHP配置可以通过调整php.ini
文件来实现。以下是一些常见的优化建议:
打开php.ini
文件(通常位于/etc/php/7.x/apache2/php.ini
或/etc/php/7.x/cli/php.ini
),找到并修改以下参数:
memory_limit = 256M
根据你的应用需求,适当增加内存限制。
OPcache可以显著提高PHP脚本的执行速度。在php.ini
文件中添加或修改以下配置:
[opcache]
zend_extension=opcache.so
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
如果你需要处理大文件上传,可以调整以下参数:
upload_max_filesize = 100M
post_max_size = 100M
确保错误日志已启用,以便在出现问题时能够及时发现和解决:
error_log = /var/log/php_errors.log
display_errors = Off
log_errors = On
如果你使用数据库,可以优化数据库连接参数:
mysqli.default_socket=/var/run/mysqld/mysqld.sock
pdo_mysql.default_socket=/var/run/mysqld/mysqld.sock
在Apache或Nginx配置中启用Gzip压缩可以减少传输数据的大小:
在/etc/apache2/apache2.conf
或/etc/apache2/sites-available/your-site.conf
中添加:
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript
</IfModule>
在/etc/nginx/nginx.conf
或/etc/nginx/sites-available/your-site.conf
中添加:
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
如果你使用会话,可以优化会话处理参数:
session.gc_maxlifetime = 1440
session.cookie_lifetime = 1440
session.save_path = /var/lib/php/sessions
禁用你不需要的PHP模块可以减少内存使用和提高性能。在php.ini
文件中找到并注释掉不需要的模块:
;extension=gd
;extension=mysqli
对于数据库连接,使用持久连接可以减少连接开销:
mysqli.allow_persistent=1
mysqli.max_persistent=-1
mysqli.max_links=-1
定期重启Apache或Nginx服务以及PHP-FPM服务,以确保配置更改生效:
sudo systemctl restart apache2
sudo systemctl restart php7.x-fpm
通过以上步骤,你可以显著提高Ubuntu上PHP应用的性能和稳定性。根据你的具体需求和应用场景,可能需要进一步调整这些配置。