所以我已经尝试了一切我能想到的工作。首先,这不仅仅是一个脚本的问题,我已经尝试了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
由于它输出了我的“Usage”字符串,我很确定它正在读取文件。但是,如果我实际上输入了所有必需的参数,那么我得到“没有这样的文件目录[root @ VM_0_5_centos]”每个,单个,时间。
奖励信息,我还在文件上运行了chmod 0777,我尝试将权限设置为正确的用户并以root身份运行。
有什么想法吗?
答案 0 :(得分:0)
指定解释器并直接运行总会给我带来麻烦。要检查是否是脚本问题而不是解释器,请尝试删除所有解释器信息,只留下<?php //code....
。然后使用php -f filename.php
运行脚本,您不需要对文件执行任何执行权限或写入权限。
我补充一点,我通常更喜欢这种方式,因为它在所有平台上都能完美运行,包括Windows PHP cli(显然如果脚本兼容)