Я использую ssh:
php filename.php
и отлично работает, но когда я это делаю:
php filename.php?id=2
Я получаю ошибку "не могу открыть входной файл".
любые идеи?
Вы не можете передавать переменные GET через командную строку!! Если вам нужно передать переменную на ваш script, вы можете использовать php filename.php your_variable
и использовать $argv
и $argc
в вашем PHP-коде.
Синтаксис filename.php?id=2
предназначен только для веб-серверов.
Что вы сделали, так это сказать оболочке найти файл с именем filename.php?id=2
и передать его на PHP, но этот файл не существует.
PHP файл, который был написан как веб-сайт, будет ограниченно использовать только в CLI.
Вы можете написать оболочку script, которая подготавливает суперглобалы и include
веб-страницу.
Я рекомендую прочитать о интерфейсе CLI, чтобы понять, что он делает.
Вам нужно передать свои параметры в качестве аргументов и использовать $argv:
<?php
var_dump($argv);
?>
filename.php?id=2