使用phpEnv搭建本地开发环境时,不少开发者会遇到网站打开卡顿、解析速度慢的问题,这会直接影响开发调试的效率,需要从多个配置维度进行调整优化。
一、调整PHP核心配置参数
PHP的运行参数直接影响脚本解析速度,我们可以修改phpEnv中对应PHP版本的php.ini配置文件来优化。
首先找到phpEnv安装目录下的PHP版本文件夹,比如phpEnvphpphp8.2,打开php.ini文件,修改以下参数:
; 关闭不必要的扩展,减少内存占用 ;extension=php_mysql.dll 如果不需要mysql可以注释掉 ;extension=php_pgsql.dll 非必要扩展按需关闭 ; 调整脚本执行内存限制,本地开发适当调大 memory_limit = 512M ; 开启opcache缓存,提升重复请求的解析速度 zend_extension=opcache opcache.enable=1 opcache.memory_consumption=128 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=4000 opcache.revalidate_freq=0
修改完成后重启phpEnv的PHP服务,让配置生效。
二、优化Nginx/Apache服务器配置
phpEnv默认支持Nginx和Apache两种服务器,我们可以针对性调整服务器参数。
1. Nginx优化
打开phpEnv的Nginx配置文件nginx.conf,修改以下内容:
worker_processes 2; # 根据本地CPU核心数调整,一般2-4即可
worker_connections 1024; # 单个进程最大连接数
http {
# 开启gzip压缩,减少传输体积
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_comp_level 2;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
# 调整fastcgi参数,提升php解析效率
fastcgi_connect_timeout 60;
fastcgi_send_timeout 60;
fastcgi_read_timeout 60;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
}
2. Apache优化
如果使用Apache,打开httpd.conf配置文件,调整以下参数:
# 调整MPM模块参数,提升并发处理能力
<IfModule mpm_winnt_module>
ThreadsPerChild 150
MaxRequestsPerChild 0
</IfModule>
# 开启deflate压缩
LoadModule deflate_module modules/mod_deflate.so
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript
三、清理本地环境冗余资源
除了配置调整,本地环境的资源占用也会影响速度,我们可以做以下清理:
- 关闭phpEnv中暂时不用的服务,比如MySQL、Redis如果当前项目不需要,可以暂时停止,减少内存占用
- 定期清理本地项目的冗余日志文件,避免日志文件过大拖慢文件读取速度
- 检查本地hosts文件,删除无用的域名映射,避免DNS解析耗时
四、验证优化效果
优化完成后,我们可以写一个简单的PHP测试脚本验证解析速度:
<?php
// 记录脚本开始时间
$startTime = microtime(true);
// 模拟简单的业务逻辑
for ($i = 0; $i < 10000; $i++) {
$a = $i * 2;
}
// 记录结束时间并输出
$endTime = microtime(true);
echo "脚本执行耗时:" . round(($endTime - $startTime) * 1000, 2) . "毫秒";
?>
多次刷新页面,对比优化前后的耗时,一般优化后执行耗时会有明显下降,本地网站的打开速度也会有明显提升。