簡體   English   中英

Apache沒有加載Xdebug,但是從命令行啟動時

[英]Apache not loading Xdebug, but does when started from the Command Line

我知道這聽起來很奇怪,但請相信我,這就是發生的事情。 這是我的系統設置:

Windows 7的
Apache 2.2
PHP 5.2.12
Xdebug 2.0.5

我在PHP.ini文件中配置了XDebug。 當我運行php -m時,我確實看到Xdebug已加載。 現在,如果我啟動Apache AS A SERVICE (或Apache Monitor),並運行phpinfo(),它不會顯示Xdebug被加載。

然而,(現在這里是瘋狂的部分),如果我進入我的Apache bin目錄,只需運行httpd.exe,然后去看看phpinfo(), Xdebug現在顯示為正在加載!

此外,比較一些phpinfo()在通過服務或命令行啟動時,看起來php.ini文件對於任何一種情況都是相同的。 除了裝載Xdebug的部件外,一切看起來都一樣。

請,如果您有任何想法,將不勝感激。

我最近遇到了同樣的問題,但我不得不針對SELinux進行針對xdebug.so模塊的httpd訪問:

chcon -v -R --type=httpd_sys_content_t /path/to/your/xdebug.so

重新啟動httpd,一切都按預期工作。

我有這個問題,發現它是由我的php.ini而不是反斜杠的斜線斜線引起的。 所以嘗試:C:\\ php \\ ext \\ xdebug.dll而不是C:/php/ext/xdebug.dll

Mike Purcell,你幾乎沒有...

在新的Red Hat和其他Linux發行版中,SELinux已啟用(吸收大的)並阻止Apache生成的子進程(例如xdebug.so)執行某些操作,例如訪問Web。

因此,您需要使用以下命令禁用SElinux:

vi /etc/selinux/config 

SELINUX=disabled

所以,重新啟動,這將禁用SE Linux和X-Debug將開始工作...殺了一整天的原因,希望它有助於某人..

這也是Amazon EC2和AWS Linux服務器的設置方式......

肖恩。

我在Windows / IIS中遇到了與Xdebug類似的問題 - php -m顯示模塊已加載,但phpinfo()沒有。 原來是一個權限問題 - 一旦我設置xdebug .dll給匿名用戶提供讀取權限,它就開始工作了。 我會檢查該.dll的權限,以確保Apache正在運行的任何用戶都可以訪問它。

通常,每種可能的調用php實例的方式都有不同的配置文件:HTTP / CLI等(至少在* nix上就是這種情況)

我建議在你的系統上搜索php * ini,看看你是否有多個不同/缺少Xdebug設置的文件。

它可能是一個有缺陷的版本/組合。 我有一個不同的問題(XDebug沒有識別出一些變量),當我達到2.1.0時,問題就解決了。

http://xdebug.org/download.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM