之前不使用“php”命令无法执行php脚本

Cla*_*las 5 php command-line-interface

我需要使用没有“php”命令的 php 脚本。

例如:

$ ./test.php
Run Code Online (Sandbox Code Playgroud)

权限设置为 755。

这是脚本

#!/usr/bin/php -q
<?php
echo "hello world";
?>
Run Code Online (Sandbox Code Playgroud)

/usr/bin/php -v (所以路径存在)

返回

PHP 7.0.15-1+deb.sury.org~xenial+1 (cli) (built: Jan 20 2017 08:53:13) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.0.15-1+deb.sury.org~xenial+1, Copyright (c) 1999-2017, by Zend Technologies
Run Code Online (Sandbox Code Playgroud)

这是我每次都会得到的错误:

Exception: Zend Extension ./test.php does not exist
Run Code Online (Sandbox Code Playgroud)

也用完整路径调用脚本我会得到同样的错误。

调用它可以正常工作

$ php ./test.php
Run Code Online (Sandbox Code Playgroud)

任何的想法?

jsh*_*erk 7

注意:作者找到了解决方案并将其放在评论中,但从未发布过实际答案,因此此答案只是澄清了作者在上面已经说过的内容,以使答案更加明显。

Exception: Zend Extension does not exist当我尝试通过 cpanel forwarder 将电子邮件通过管道传输到 php 脚本时,我也收到了。

我在我的编辑器中打开文件(Windows 上的 Komodo Edit)并转到 EDIT > CURRENT FILE PREFERENCES 并注意到 LINE ENCODINGS 被设置为 DOS/Windows (\r\n)

我将 LINE ENCODING 更改为UNIX (\n)并保存并重新上传它,错误消失了,现在一切都很好。

显然,步骤会因您使用的编辑器而异,但解决方案是确保您的行编码是 UNIX 而不是 DOS/Windows。