PHP CLI 已安装并正常工作.但无法运行脚本?



所以我已经尝试了我能想到的一切来让它工作。首先,这不仅仅是 1 个脚本的问题,我已经尝试了 3 或 4 个我通常使用的脚本,但我无法让它们中的任何一个在此服务器上运行。我相信 PHP CLI 正在工作,这既是因为我可以运行命令,也是因为我可以看到没有关键字的 php 文件所需的参数。PHP -v 输出

PHP 5.6.25 (cli) (built: Oct 21 2016 18:00:07)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies

如您所见,它吐出了php版本和cli。 在我的脚本本身上,我在不同时间添加了以下 shebang

#!/opt/rh/rh-php56/root/usr/bin/php
#!/usr/local/bin/php
#!/usr/bin/php
#!/usr/bin/env php

最后,如果我尝试运行我的脚本,就会发生这种情况。

[root@VM_0_5_centos misc]# ./english_to_chinese_dictionary.php
Usage:
english_to_chinese_dictionary.php server user password customer mappingFileLocation

因为它输出了我的"用法"字符串,我很确定它正在读取文件。但是,如果我实际键入所有必需的参数,那么我每次都会得到"没有这样的文件目录[root@VM_0_5_centos]"。

奖励信息,我还在文件上运行了chmod 0777,并且尝试将权限设置为正确的用户并以root身份运行。

有什么想法吗?

指定解释器并直接运行总是给我带来问题。要检查它是否是脚本问题而不是解释器,请尝试删除所有解释器信息,只留下<?php //code....。然后运行脚本,php -f filename.php不需要对文件具有任何执行或写入权限。

我补充说,我通常更喜欢这种方式,因为它可以在所有平台上完美运行,包括Windows PHP cli(显然,如果脚本兼容(

最新更新