我需要使用一个没有" php“命令的php脚本。
例如:
$ ./test.php
权限设置为755。
这就是脚本
#!/usr/bin/php -q
<?php
echo "hello world";
?>
/usr/bin/php -v (so路径存在)
返回
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
这是我每次都会得到的错误:
Exception: Zend Extension ./test.php does not exist
同样,使用fullpath调用脚本时,我也会得到相同的错误。
这样它就能正常工作
$ php ./test.php
有什么想法吗?
发布于 2018-08-26 02:56:03
注意:作者找到了解决方案,并将其放在评论中,但没有发布实际的答案,所以这个答案只是澄清了作者在上面已经说过的话,以使答案更明显。
当我试图通过cpanel forwarder将一封电子邮件传送到一个php脚本时,我也得到了Exception: Zend Extension does not exist
。
我在我的编辑器(Windows上的Komodo Edit )中打开该文件,然后进入编辑>当前文件首选项,注意到LINE ENCODINGS被设置为DOS/Windows (\r\n)
我将代码行改为UNIX (\n)
,保存并重新上传,错误消失了,现在一切都好了。
显然,根据您使用的编辑器的不同,步骤会有所不同,但解决方案是确保您的Line编码是UNIX而不是DOS/Windows。
发布于 2020-08-18 13:30:10
只需对该文件运行dos2unix
# ./database.php
Exception: Zend Extension ./database.php does not exist
# apt install dos2unix
# dos2unix database.php
dos2unix: converting file database.php to Unix format...
# ./database.php
Yeah!!! It work's!!!!
https://stackoverflow.com/questions/42615545
复制相似问题