我发现了很多关于此的文章和帖子,甚至在 stackexchange 网站上,我只是想确定,这是我可以从 xDebug
获得的最大值。
我的场景:
我正在本地主机上开发一个 WordPress 网站。每次,当xDebug
打开时,当我想要加载页面时,服务器响应是7-8秒。您可以想象,当您开发时,需要多次重新加载页面,这是多么令人沮丧。
如果我将其关闭,(从 php.ini
中注释掉),它会下降到 1-2 秒。
你有没有看到什么,我在配置中设置得不好?如果没有,您能否建议我进行任何设置以提高服务器响应时间的速度?
如果服务器响应 xDebug 可以是 3-4 秒,那就太好了。谢谢。
我的环境是:
机器
- IBM Thinkpad T410 i5 CPU 2.40Ghz
- 8GB 内存
- 64 位
- Windows 7 旗舰版 64 位 SP1
软件
- Apache/2.4.2 (Win64) OpenSSL/1.0.1c
- PHP 版本 5.6.5 x64
- 10.0.16-MariaDB(MySql 分支)
我的 xDebug 配置:
- zend.enable_gc = 开
- report_zend_debug = 0
output_buffering = 关闭
zend_extension = D:\PHP\ext\php_xdebug-2.2.7-5.6-vc11-x86_64.dll
- xdebug.remote_enable=1
- xdebug.remote_host=127.0.0.1
- xdebug.remote_autostart = 0
- xdebug.remote_connect_back = 0
- xdebug.profiler_enable = 0
- xdebug.remote_mode=req
- xdebug.remote_port=9000
- xdebug.remote_handler=dbgp
- xdebug.overload_var_dump = 1;
- xdebug.cli_color = 2
- xdebug.show_exception_trace=1
- xdebug.auto_trace=1
- xdebug.var_display_max_children = -1
- xdebug.var_display_max_data = -1
- xdebug.var_display_max_depth = -1
最佳答案
我遇到了一些类似的问题,所以我决定编写一个小脚本来切换 Xdebug。
希望它能帮助你或其他人...所以就在这里..
#!/bin/bash
xdebugPath="/etc/php5/mods-available/xdebug.ini";
apacheRestartCommand="service apache2 reload";
showUsageMessage(){
echo "Usage: xdebug {on|off|status}";
}
enableDebugger(){
printf "Enabling X-debug...\r\n";
sed -i -e "s/^;xdebug/xdebug/g" "${xdebugPath}";
sed -i -e "s/^;zend/zend/g" "${xdebugPath}";
printf "Restarting Apache...\r\n";
${apacheRestartCommand};
printf "Done\r\n\r\b";
}
disableDebugger(){
printf "Disabling X-debug\r\n";
sed -i -e "s/^xdebug/;xdebug/g" "${xdebugPath}";
sed -i -e "s/^zend/;zend/g" "${xdebugPath}";
printf "Restarting Apache...\r\n";
${apacheRestartCommand};
printf "Done\r\n\r\n"
}
showStatus(){
status=$(getStatus);
if [[ ${status} = 1 ]]; then
echo "X-debug seems to be enabled";
else
echo "X-debug seems to be disabled";
fi
}
getStatus(){
local __result=1
while IFS="" read -r line || [[ -n "$line" ]]; do
if [[ ${line} == ";"* ]]; then
__result=0;
fi
done < ${xdebugPath}
echo "$__result";
}
if [ $# = 1 ]; then
if [ $1 == "on" ];then
enableDebugger;
elif [ $1 == "off" ];then
disableDebugger;
elif [ $1 == "status" ];then
showStatus;
else
showUsageMessage;
fi
else
showUsageMessage;
fi
将上面的文本保存在名为 xdebug
的新文件中,并将其标记为可执行文件:chmod +x xdebug
。
关于php - 提高 Xdebug 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28348512/