PHP -> CLI 已停止工作

Posted

技术标签:

【中文标题】PHP -> CLI 已停止工作【英文标题】:PHP -> CLI has stopped working 【发布时间】:2010-12-12 22:06:22 【问题描述】:

我最近在我的桌面上安装了 Windows 7,并且开始出现以下问题:

我经常从命令行运行一些 php 脚本,这些脚本现在在弹出窗口中显示此错误:

CLI has stopped working.

我取消此操作,我的脚本终止。不好...

我已经四处搜索并尝试了大多数建议的想法,但我仍然被这种烦恼所困扰。现在,当我执行指向图像文件的 url 的 file_get_contents() 时,它似乎经常发生。仅当 url 为 http 协议时才会发生,适用于 ftp 文件。它也会在做其他事情时虚假地发生。

这是在 xampp 1.7.2 .zip 中分发的 PHP 5.3.0。所有 exe 和 dll 都已通过 FAT32 复制并返回来解锁。

任何破解此问题的人的提示将是最有帮助的。

【问题讨论】:

有趣的是,我刚刚搜索了 PHP 错误数据库,也找不到任何东西。可能值得在bugs.php.net 报告它 有什么理由不使用 CURL 吗?我知道初始设置的数量有点乏味,但它可能比您的经验更好。 你注意到我使用 VC6 和 VC9 PHP 版本有什么不同吗? windows.php.net/download PHP 5.3.0 (VC6/VC9/TS/NTS) 的所有 4 个变体都有问题。即使是新安装的...... 【参考方案1】:

尝试更新与 xampp 捆绑的 PHP 版本。您可能需要更新一些 php_XXX.dll 扩展文件。

更多信息:http://web2.0entrepreneur.com/31/cli-has-stopped-working-on-windows-vista.html

【讨论】:

请注意,这个错误似乎在 XAMPP 中很流行。恕我直言,没有什么比手动安装 PHP、Apache 和 mysql 更好的了。 我在 windows vista/7 下也遇到过这个问题,脚本运行时间超过几分钟,只使用了 php 提供的 php 安装。我的猜测是 windows 版本可能正在遭受一些 .Net v4 成长的痛苦。 谢谢帕特里克 - 我想我可以按照你的建议做,然后转储 xampp 并安装我需要的那些部分。我会回来告诉你是否解决了这个问题 @ScottEvernden 你从来没有检查过,让我们知道它是否有效:( 我遇到了类似的问题,更新 xampp 没有帮助。我怀疑我的问题与在类中使用指向 curl 对象的指针有关,但我仍在尝试深入了解它...【参考方案2】:

PHP-CLI 在以下情况下停止:Windows 7 64 位、PHP 5.6.8 64 位,仅当 Zend OpCache 扩展启用时!!! 只需编辑php.ini 并评论zend_extension=php_opcache.dll(前面有;

【讨论】:

这对我有用,只是注释掉了 zend_extension。谢谢!【参考方案3】:

我发现当我启用 APC 扩展时这发生在我身上。我转而使用 Wincache for PHP 扩展。

【讨论】:

【参考方案4】:

如果您在安装 WAMP 后收到此错误,很可能您的计算机上安装了另一个 PHP。这可能是使用 Microsoft Web 平台安装程序或通过其他方式安装的。您应该做的第一件事是卸载 PHP。

如果这不起作用,请检查以确保 IIS 和 Apache 没有尝试使用相同的端口。 WAMP 以端口 80 作为标准开始,而 IIS 通常是相同的。解决此问题的最简单方法是在运行 WAMP 时关闭 IIS,但您可以将其中任何一个服务器设置为端口 81 或其他端口。

如果这不起作用,我的最后一个建议是在您的机器上查找多个 php.ini 副本。您可以在 Windows 目录等位置找到它们。备份文件以防万一,然后将其从除 WAMP 文件夹之外的所有文件夹中删除。

【讨论】:

【参考方案5】:

它在 laravel 5 中发生在我身上。我搜索了所有地方但没有解决我的问题的解决方案然后我在不同的点调试我的 web 应用程序并发现如果你在刀片模板中的 laravel cmets 中评论你的 php 代码,比如

--print_r($date_a);--

现在这样评论

//print_r($date_a);

作品

【讨论】:

【参考方案6】:

我的解决方案是停止使用 PHP 5.3.0 并返回到 5.2.11。一旦我这样做了,“CLI 已停止工作”问题就消失了。

【讨论】:

【参考方案7】:

我在使用 Windows 7 Professional 时遇到了同样的问题。 我的 Apache 服务器在我的 Web 应用程序中查找和执行 PHP 没有问题,但是命令行执行给出了臭名昭著的消息“CLI 已停止工作”。 用户帐户设置似乎允许执行。 Perl 没有问题。

我总是必须将我的代码带到 XP 机器上并在那里运行以进行调试。

【讨论】:

【参考方案8】:

您没有指定您使用的是 xdebug,但以防万一,我可能会提供帮助。我有这个错误很长一段时间。原来我使用的是稍旧版本的 Xdebug (php_xdebug-2.2.0-5.4-vc9.dll)。

我用“php_xdebug-2.2.2-5.4-vc9.dll”替换了那个文件,它神奇地立即开始工作。

我在 wamp 上,我用最新的文件名更新了两个 php.ini 文件(一个用于 cli,一个用于正常使用)。 "zend_extension = c:\wamp\bin\php\php5.4.3\ext\php_xdebug-2.2.2-5.4-vc9.dll"

然后将新文件拖放到php ext文件夹中并立即成功。

【讨论】:

【参考方案9】:

我在 Windows 7(家庭高级版)上遇到了同样的问题。我有一种预感,它是由我安装的一个扩展程序引起的,所以我开始一一评论它们。

原来它是由我使用的不兼容的 mongodb 扩展引起的

【讨论】:

【参考方案10】:

编辑php.ini 并评论zend_extension=opcache.enable_cli=1(前面带有;)

【讨论】:

【参考方案11】:

尝试使用其他 php 版本。

它非常适合我。

【讨论】:

【参考方案12】:

尝试使用 php-cgi.exe 而不是 php.exe 运行脚本。对我来说它有效。

【讨论】:

以上是关于PHP -> CLI 已停止工作的主要内容,如果未能解决你的问题,请参考以下文章

PHP 工匠错误:每次重新启动后 CLI 停止工作

Desktop Interface已停止工作

WInForm已停止工作怎么回事

C++ “**.exe已停止工作”是啥原因?

clover已停止工作怎么处理

WINDOWS 服务主进程已停止工作?