簡體   English   中英

之前不使用“php”命令無法執行php腳本

[英]Can't execute a php script without using “php” command before

我需要使用沒有“php”命令的 php 腳本。

例如:

$ ./test.php

權限設置為 755。

這是腳本

#!/usr/bin/php -q
<?php
echo "hello world";
?>

/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

這是我每次都會得到的錯誤:

Exception: Zend Extension ./test.php does not exist

也用完整路徑調用腳本我會得到同樣的錯誤。

調用它可以正常工作

$ php ./test.php

任何的想法?

注意:作者找到了解決方案並將其放在評論中,但從未發布實際答案,因此此答案只是澄清了作者在上面已經說過的內容,以使答案更加明顯。

當我嘗試通過 cpanel 轉發器將電子郵件通過管道傳輸到 php 腳本時,我也遇到了Exception: Zend Extension does not exist

我在我的編輯器中打開文件(Windows 上的 Komodo Edit)並轉到 EDIT > CURRENT FILE PREFERENCES 並注意到 LINE ENCODINGS 被設置為DOS/Windows (\\r\\n)

我將 LINE ENCODING 更改為UNIX (\\n)並保存並重新上傳它,錯誤消失了,現在一切都很好。

顯然,步驟會因您使用的編輯器而異,但解決方案是確保您的行編碼是 UNIX 而不是 DOS/Windows。

只需在文件上運行 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!!!!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM