我在Ubuntu 10.10上安装了Eclipse和xDebug。
当我debugging一些PHP文件作为一个页面,这工作正常。
当我尝试debugging它作为脚本,我给消息,MySQL扩展未加载。
我为PHP可执行文件设置了以下选项:
我写了下面的脚本:
test.php的
<?php
$ext = get_loaded_extensions();
print_r($ext);
?>
当我把命令行/ usr / bin / php test.php
我给50个加载的模块包括mysql和mysqli。
当我在Eclipse中debugging它时,我给出了相同的模块和xdebug。
当我在Eclipse中将其作为页面进行debugging时,我给出了包含xdebug的45个模块,但是不会加载mysql和mysqli。
在经过了几个小时的努力之后,我决定手动将所有的信息捕获到一个.ini文件中,然后用eclipse -clean
启动eclipse。 像下面的脚本应该做的伎俩:
#!/bin/bash mkdir /etc/php5/cli_eclipse cat /etc/php5/cli/php.ini /etc/php5/conf.d/* > /etc/php5/cli_eclipse/php.ini
(你可以明显地检查目录是否已经存在等等,但是这个脚本仅仅是为了说明的目的,你需要使用一个超级用户帐户/ sudo来执行这个)。
点你的PHP运行时在eclipse下的window -> preferences -> PHP -> PHP Executables
到你创建的文件,用-clean
标志重新启动一次eclipse。 pdt应创建包含所有必要信息的临时“php.ini”。
Eclipse PDT团队决定引入-n选项来修复Bug#324073 。 所以只有从/ tmp / zend_debug / …的php.ini已经被加载,所有额外的INI文件尚未被加载。
这是自PDT 2.2.0 M201010110334(2010/10/11)以来推出的。
有关更多信息,请参阅以下链接:
尝试调用这里描述的功能: http : //php.net/manual/en/function.php-ini-loaded-file.php ,看看它是否返回完全相同的路径。 在Ubuntu和Debian上,php配置被分割成多个文件。 看看/ etc / php5(或类似的路径)。
作为最后的手段,我会写我自己的配置,并参考它在eclipse的PHP运行脚本配置,并确保配置包括和引用MySQL的扩展。