Как я могу запустить сценарий PHP из командной строки с помощью интерпретатора PHP, который используется для анализа веб-сценариев?
У меня есть установленный phpinfo.php
файл, доступ к которому осуществляется через Интернет German
. Однако, если я запускаю phpinfo.php
из командной строки с помощью - php phpinfo.php
и grep
for German
, я не нахожу его. Так что оба phps разные. Мне нужно запустить скрипт, php
на котором German
установлен.
Как я могу это сделать?
php
command-line
Сиддхартх
источник
источник
php -i
и проанализируй этоphpinfo();
к вашему вопросу. Также обновил мой ответ.Ответы:
ОБНОВИТЬ:
После недоразумения я наконец понял то, что вы пытаетесь сделать. Вы должны проверить файлы конфигурации вашего сервера; вы используете apache2 или другое серверное программное обеспечение?
Ищите строки, которые начинаются с
LoadModule php
... Вероятно, есть файлы конфигурации / каталоги с именамиmods
или что-то в этом роде, начните оттуда.Вы также можете проверить вывод
php -r 'phpinfo();' | grep php
и сравнить строкиphpinfo();
с веб-сервером.Для
php
интерактивного запуска :(чтобы вы могли вставить / написать код в консоли)
Чтобы заставить его анализировать файл и выводить его на консоль:
Разобрать файл и вывести его в другой файл:
Вам еще что-нибудь нужно?
Чтобы запустить только небольшую часть, одну строку или что-то подобное, вы можете использовать:
php -r '$x = "Hello World"; echo "$x\n";'
Если вы используете Linux, сделайте это
man php
в консоли.если вам нужно / вы хотите запустить php через fpm, используйте cli fcgi
SCRIPT_NAME="file.php" SCRIP_FILENAME="file.php" REQUEST_METHOD="GET" cgi-fcgi -bind -connect "/var/run/php-fpm/php-fpm.sock"
где /var/run/php-fpm/php-fpm.sock - это ваш файл сокета php-fpm.
источник
which php
чтобы сообщить вам, какой исполняемый файл вы запускаете по умолчанию. Чтобы использовать другой исполняемый файл, вы должны указать полный путь к исполняемому файлу, который вы хотите использовать:/path/to/specific/php -f file.php > results.html
В SuSE есть два разных файла конфигурации для PHP: один для Apache и один для CLI (интерфейса командной строки). В каталоге / etc / php5 / вы найдете каталог «apache2» и каталог «cli». У каждого есть файл "php.ini". Файлы предназначены для одной и той же цели (конфигурация php), но применимы к двум различным способам запуска PHP. Эти файлы, помимо прочего, загружают модули, которые использует PHP.
Если ваша ОС похожа, то, вероятно, эти два файла не совпадают. Ваш Apache php.ini, вероятно, загружает модуль gearman, а cli php.ini - нет. Когда модуль был установлен (автоматически или вручную), он, вероятно, обновил только файл Apache php.ini.
Вы можете просто скопировать файл Apache php.ini в каталог cli, чтобы сделать среду CLI точно такой же, как среда Apache.
Или вы можете найти строку, загружающую модуль gearman в файле Apache, и скопировать / вставить только ее в файл CLI.
источник
Я искал решение этой проблемы в Windows, и, похоже, если у вас нет окружений в порядке, вам нужно поместить полный каталог. Например, с файлом в том же каталоге, что и PHP:
источник
>
при запуске, вероятно, перенаправит вывод-f ...
(вероятно, ошибку) в ваш файл php.exe и сотрет содержимое.