2011-06-04 67 views
3

我已經在Ubuntu 11.4上爲AMD64和Xdebug設置了Eclipse 3.6.2。Eclipse和Xdebug不解析/etc/php5/conf.d中的其他ini文件

Eclipse安裝時使用了eclipse.org的zip下載。 PHP和Xdebug設置爲apt-get

當我在shell中運行PHP腳本時,他們將使用/etc/php5/php.ini文件並解析/etc/php5/conf.d/中的其他ini文件。

當我在Eclipse(運行模式或調試模式)下運行時,它只會解析php.ini並且不會有其他ini文件。

基本上所有的擴展都沒有加載。

回答

5

這是一個故意的錯誤。
PDT始終以「-n」選項執行php。它使額外的ini文件不可用。
看到https://bugs.eclipse.org/bugs/show_bug.cgi?id=339547
https://bugs.eclipse.org/bugs/show_bug.cgi?id=347618

順便說一句,你就可以添加一個shell腳本修剪 「-n」 選項爲PHP可執行文件。(首選項> PHP> PHP可執行文件)
例如,

#!/bin/sh 
if [ $1 = "-n" ]; then 
    shift; 
fi 
/usr/bin/php $*
+0

非常感謝!我只是從Windows切換到Ubuntu作爲開發平臺。我迷路了。 – 2011-06-05 13:22:00

0

答案@atlanto給作爲工作周圍沒有和它仍然可以工作,但最近的Eclipse(我在霓虹燈)的版本有可能爲你工作一個修復,如果你不介意使用php.iniconf.d默認設置爲th e php可執行文件。

如果您在定義PHP可執行文件時放入明確的php.ini文件,則現在只會發生未能加載其他文件的情況。 留下此空白複選框Use system default php.ini configurate

enter image description here

現在,如果你使用的是被指定爲默認的生成可執行文件時的位置/ php.ini中,它會尊重conf.d目錄掃描。

以下是如何檢查您的php具有掃描conf.d啓用和地方選擇恰當的默認位置是:

php -i "(command-line 'phpinfo()')" | grep "Configure Command" 

你應該看到:

Configure Command => './configure' '--prefix=/usr/local/Cellar/php5/5.6.29_5' 
'--localstatedir=/usr/local/var' '--sysconfdir=/usr/local/etc/php/5.6' 
'--with-config-file-path=/usr/local/etc/php/5.6' 
'--with-config-file-scan-dir=/usr/local/etc/php/5.6/conf.d' 
'--mandir=/usr/local/Cellar/php56/5.6.29_5/share/man' 

... and so on... 

該事項的項目有:

  • with-config-file-path:這個地方它會尋找你的php.ini文件
  • with-config-file-scan-dir:這是將被掃描

conf.d如果你仍然想選擇的位置不同而不是默認的可執行你的選擇是:

  • conf.d中的模塊指令插入並替換爲php.ini
  • 重建php並將上述選項設置爲默認的新位置
  • 使用包裝腳本@atlanto表示