[英]Why Xdebug 3 profiler triggers in CLI but not in Apache?
我可以觸發 PHP 調試會話(對於 CLI 和 Apache),但是在嘗試分析時,它僅在 CLI 模式下而不是在 Apache2 下工作。
這是我的 Xdebug 配置(xdebug.ini):
zend_extension=xdebug.so
xdebug.remote_handler=dbgp;
xdebug.mode=debug,profile;
xdebug.start_with_request=yes
xdebug.client_host=127.0.0.1;
xdebug.client_port=9003;
xdebug.discover_client_host = 1;
#xdebug.log_level=0;
#problems about xdebug profile itself
xdebug.log="/tmp/xdebugprofile/xdebug.log"
xdebug.output_dir = "/tmp/xdebugprofile";
xdebug.profiler_output_name = "cachegrind.out.%u.%H_%R";
對這種不一致的行為有任何想法嗎?
(Linux Mint 20、PHP 8.0、Apache2)
我有同樣的問題。 解決方案如下:
在服務單元文件中,變量 PrivateTmp 設置為 true:
PrivateTmp=true
我將上述設置為 false,然后重新啟動 php-fpm
文件的可能位置:
/usr/lib/systemd/system/php-fpm.service
/usr/lib/systemd/system/php72-php-fpm.service
您可能會發現它使用:
sudo find /usr/ -name php-fpm.service
現在 cachegrind 文件是在 /tmp 中創建的
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.