Команда PHP в Bash не выполняет код - PullRequest
0 голосов
/ 13 марта 2019

Хорошо, у меня проблема с этим, что я обнаружил на MacBook Air.Это называется терминал, и вы можете делать сумасшедшие вещи на нем.Так или иначе, когда я ввожу команду "php", она дает мне многострочную консоль, но она ничего не делает, когда я запускаю строку php!Например, я набираю echo «Hello World», но он просто возвращает его, как пишущая машинка, и ничего не происходит!Может кто-нибудь сказать мне, что происходит, и есть ли способ выйти из этого?

Ответы [ 4 ]

0 голосов
/ 13 марта 2019

Сначала проверьте, правильно ли установлен php:

введите в консоли:

php -v

вы должны увидеть версию установленного php для ex.:

PHP 7.3.3 ...

для запуска одной строки кода из консоли вы делаете это следующим образом:

php -r 'echo "\nHello World\n";'

где \ n - символ новой строки.

для входа в интерактивный режим и запуска нескольких строк кода:

php -a

и как только вы увидите:

Включен интерактивный режим

php>

Тип:

echo "\nHello World\n";

и нажмите клавишу [Ввод].

вот и все.

для выхода из интерактивного режима введите:

exit

обратите внимание на отсутствие ; в конце.

Если вы хотите запустить из консоли код php, который у вас есть в файле:

php -f <path-to-the-file>

но это php поведение по умолчанию, так что если вы пропустите флаг -f и просто наберете:

php

он ничего не сделает, ожидая, что вы предоставите ему путь к файлу после php, как в примере с флагом -f :

php <path-to-file>

Так что, если программист намеревается войти в интерактивный режим, но он набирает только php без каких-либо флагов, php не будет предупреждать об отсутствии пути к файлу, поэтому у программиста может сложиться впечатление, что он в Интерактивный режим PHP, как он хотел, но это не так.

чтобы увидеть все возможные варианты в php cli, введите:

php --help
0 голосов
/ 13 марта 2019

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

0 голосов
/ 13 марта 2019

При запуске команды php непосредственно из командной строки она ведет себя так же, как при чтении .php из командной строки

Вы заметили, что это просто выводит эхо на любую вещь, которую вы пишете ей,это то же самое, что и выполнение файла .php, который возвращает любой html обратно в браузер

Пример:

$ php
sss
<?PHP
echo 'Hello!';
?>
More data!

ctrl + d (сигнализировать о достижении конца файла)

Вывод:

sss
Hello!More data!
0 голосов
/ 13 марта 2019

Я считаю, что если вы просто введете php в терминал, он запустит процесс php-сервера на локальном Mac.Если вы хотите запустить скрипт, вам нужно перейти в рабочий каталог и набрать php filename.php.

...