微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP只能在命令行模式下抛出XDebug错误

自启动XDebug以来,我一直在命令行中运行基于 PHP的实用程序的几个问题.它通过浏览器执行脚本时运行正常,但一旦我在命令行上尝试执行一个脚本,它会抛出以下错误
h:\www\test>@PHP test.PHP
PHP Warning:  PHP Startup: Unable to load dynamic library 'E:\development\xampplite\PHP\ext\php_curl.dll' - The specified module Could not be found in UnkNown on line 0
PHP Warning:  Xdebug MUST be loaded as a Zend extension in UnkNown on line 0

h:\www\test>

脚本在这之后运行得很好,但这似乎并不能让我头疼.我的PHP.ini配置文件可能是一个路径问题?我不知道如果是这样的情况,考虑到它抛出相同的错误,无论我在哪里访问@PHP环境变量.

此外,我的PHP.ini中的所有路径都是绝对的.不确定这里发生了什么.

您有可能使用两个不同的.ini文件

>一个用于Apache
>另一个用于CLI

或者也许你与Apache使用的PHP有同样的问题,但是看不到这个警告,因为它在Apache的错误日志中 – 这只是一个警告.

解决方案基本上是使用以下方式加载Xdebug扩展:

zend_extension=/.../xdebug.so

代替 :

extension=/.../xdebug.so

这正是错误消息指示的:Xdebug必须作为Zend扩展加载 – 除了它不告诉你如何做.

注意 :

>我使用绝对的路径xdebug.so – 你已经在做,这是很好的(无论如何还需要)
>但是我也使用zend_extension:Xdebug是一个扩展,深入到PHP的Zend引擎,这意味着使用扩展是不够的.

欲了解更多信息,作为参考,请参阅Xdebug文档中的Installation / activation页.

原文地址:https://www.jb51.cc/php/139863.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐