Podczas próby uruchomienia skryptu PHP z poziomu terminala skrypt jest po prostu powtarzany na standardowe wyjście. Dzieje się tak, jeśli skrypt jest wykonywany bezpośrednio (pierwszy wiersz #!/usr/bin/php
) wywoływany jako argument ( /usr/bin/php ./test.php
) lub jeśli komendy php są wprowadzane interaktywnie.
Co może być problemem?
Komputer to El Capitan Server, 10.11.6; i nie zainstalowano dodatkowego MAMP / Apache / PHP. Na nie-serwerowym komputerze El Capitan wszystko działa zgodnie z oczekiwaniami; więc jestem zakłopotany ...
Dodanie danych wyjściowych polecenia ls:
sh-3.2# ls -lFa /usr/bin/php
-rwxr-xr-x 1 root wheel 10577264 Jul 9 11:51 /usr/bin/php*
sh-3.2#
Dodawanie większej wydajności:
sh-3.2# ls -lFa /var/root/test.php
-rwxr-xr-x 1 root wheel 17 Nov 21 16:48 /var/root/test.php*
sh-3.2# cat /var/root/test.php
<?
phpinfo();
?>
sh-3.2# /usr/bin/php /var/root/test.php
<?
phpinfo();
?>
sh-3.2# od -c /var/root/test.php
0000000 < ? \n p h p i n f o ( ) ; \n ? >
0000020 \n
0000021
sh-3.2# od -x /var/root/test.php
0000000 3f3c 700a 7068 6e69 6f66 2928 0a3b 3e3f
0000020 000a
0000021
sh-3.2#
el-capitan
osx-server
php
Kent
źródło
źródło
ls -l /usr/bin/php
?/usr/bin/php <absolute path to test.php>
działa?Odpowiedzi:
Użyj długiego znacznika jak
w test.php zamiast jakoś źle sformułowanym test.php i powinno działać.
źródło