как вы запускаете php файл из ssh?

7

Я использую ssh:

php filename.php

и отлично работает, но когда я это делаю:

php filename.php?id=2

Я получаю ошибку "не могу открыть входной файл".

любые идеи?

  • 0
    Это полный след?
  • 2
    Логично, у вас нет файла с именем filename.php?id=2
Показать ещё 1 комментарий
Теги:
ssh

4 ответа

9

Вы не можете передавать переменные GET через командную строку!! Если вам нужно передать переменную на ваш script, вы можете использовать php filename.php your_variable и использовать $argv и $argc в вашем PHP-коде.

1

Синтаксис filename.php?id=2 предназначен только для веб-серверов.

Что вы сделали, так это сказать оболочке найти файл с именем filename.php?id=2 и передать его на PHP, но этот файл не существует.

1

PHP файл, который был написан как веб-сайт, будет ограниченно использовать только в CLI.

Вы можете написать оболочку script, которая подготавливает суперглобалы и include веб-страницу.

Я рекомендую прочитать о интерфейсе CLI, чтобы понять, что он делает.

0

Вам нужно передать свои параметры в качестве аргументов и использовать $argv:

<?php
var_dump($argv);
?>

http://php.net/manual/en/reserved.variables.argv.php

Ещё вопросы

Сообщество Overcoder
Наверх
Меню