PHP CLI установлен и работает .. но не запустит скрипт? - PullRequest
0 голосов
/ 07 июня 2018

Итак, я попробовал все, что мог придумать, чтобы заставить это работать.Прежде всего, это НЕ просто проблема с 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.

Есть идеи?

1 Ответ

0 голосов
/ 07 июня 2018

Указание переводчика и прямой запуск всегда доставляли мне проблемы.Чтобы проверить, не является ли интерпретатор проблемой, а не интерпретатором, попробуйте удалить всю информацию интерпретатора, оставьте в ней только <?php //code.....Затем запустите скрипт с php -f filename.php, вам не понадобятся какие-либо права на выполнение или запись для файла.

Я добавляю, что я обычно предпочитаю этот способ, потому что он отлично работает на всех платформах, включая Windows PHP cli (очевидно,если скрипт совместим)

...