Как выполнить файл php на сервере с помощью команды screen?

Я просматривал этот пост, где у меня появилась идея использовать экраны для выполнения моих php-скриптов на сервере: Запуск скрипта PHP полностью на стороне сервера

Мне удалось успешно выполнить php-скрипт, используя:

screen

php ./file.php

Однако это не сработало для меня:

screen ./file.php

И именно последний способ сделать это был рекомендован в посте, на который я ссылался.

Там написано только: Cannot exec './file.php': Permission Denied

sudo screen ./file.php тоже не работал.


person Kacy    schedule 08.02.2015    source источник
comment
sudo экран php ./file.php   -  person VeeeneX    schedule 08.02.2015
comment
Не делайте sudo, если вам это действительно не нужно (чего вы не делаете, поскольку это работало без sudo в двухэтапном подходе в начале вопроса).   -  person Quentin    schedule 08.02.2015
comment
@ Квентин, я тебе верю, но могу я спросить, почему?   -  person Kacy    schedule 08.02.2015
comment
Предоставление коду суперпользователя доступа к системе, когда он ему не нужен, ничего не делает, кроме как увеличивает серьезность любых проблем безопасности, которые могут быть в этом коде.   -  person Quentin    schedule 08.02.2015
comment
@KacyRaye - не предоставляйте дополнительные привилегии в соответствии с sudo, если они вам действительно не нужны, это нехорошая безопасность   -  person Mark Baker    schedule 08.02.2015


Ответы (1)


Вы должны передать screen команду оболочки, которая работает.

У вас была команда оболочки, которая работает с первой попытки.

Затем вы удалили его часть, когда пытались передать его screen. Не делай этого. Оставьте команду без изменений.

screen php ./file.php

Если вы хотите, чтобы PHP-скрипт был исполняемым напрямую (т. е. без передачи его в качестве аргумента в двоичный файл командной строки php), вам необходимо:

  • Убедитесь, что первая строка объясняет, как ее выполнить (#!/usr/bin/env php)
  • Установите для него разрешения, чтобы он был исполняемым (chmod u+x file.php)
person Quentin    schedule 08.02.2015
comment
Но я был первым! :D, с этим комментарием - person VeeeneX; 08.02.2015
comment
@Квентин Круто, спасибо. Супер ясно. Я приму ответ, как только он позволит мне. Я предполагаю, что сообщение, на которое я ссылался, просто предполагало, что файл php уже установлен как исполняемый файл. - person Kacy; 08.02.2015