我在Ubuntu 11.4 for AMD64和Xdebug上设置了Eclipse 3.6.2。
Eclipse安装了eclipse.org的zip下载。 PHP和Xdebug设置为apt-get。
当我在shell中运行PHP脚本时,他们将使用/etc/php5/php.ini
文件并解析/etc/php5/conf.d/
中的其他ini文件。
当我在Eclipse(运行模式或调试模式)中运行时,它只会解析php.ini
而不会解析其他ini文件。
基本上,所有扩展都没有加载。
答案 0 :(得分: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
#!/bin/sh if [ $1 = "-n" ]; then shift; fi /usr/bin/php $*
答案 1 :(得分:1)
答案@atlanto作为一个解决方案做了并且仍然有效,但最近版本的Eclipse(我在霓虹灯上)有一个可能对你有用的修复,如果你不介意使用对于php可执行文件,默认设置php.ini
和conf.d
。
如果在定义PHP可执行文件时放入显式php.ini
文件,则现在只会发生无法加载其他文件的错误。 将此选项留空并选中 Use system default php.ini configurate
框。
现在,如果您使用在构建可执行文件时指定为默认位置的位置/ 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