Myślę, że po prostu brakuje mi czegoś prostego, ale nie mogę zmusić PHP do uruchomienia czegokolwiek w wierszu poleceń. Używam Linux Ubuntu.
Wszystkie dokładnie te same pliki działają zgodnie z oczekiwaniami za pośrednictwem Internetu. Próbowałem wszystkich następujących poleceń, które dają puste. Moja instalacja php znajduje się w „/ usr / bin / php”
Jestem zalogowany jako root.
root@mydomain:~# whereis php
php: /usr/bin/php /usr/lib/php /usr/lib64/php /usr/share/man/man1/php.1.gz
Wszystkie zwracane są puste:
/usr/bin/php -v
/usr/bin/php -i
php -v
php -i
/usr/bin/php -v
echo "<?php echo \"hi\\n\";" | /usr/bin/php
echo "<?php echo \"hi\\n\";" | php
/usr/bin/php /var/www/vhosts/mysite.com/delme.php
/usr/bin/php -f /var/www/vhosts/mysite.com/delme.php
Czy brakuje mi czegoś oczywistego? Czy jest jakieś ustawienie, które muszę ustawić, aby uruchomić polecenie z cli? Próbowałem wszystkiego przez ostatnie 4 godziny bez powodzenia. Każda pomoc będzie mile widziana.
Zgodnie z prośbą użytkownika:
root@mydomain:~# ls -l /usr/bin/php
lrwxrwxrwx 1 root root 21 Mar 17 2013 /usr/bin/php -> /etc/alternatives/php
root@mydomain:~# ls -l /etc/alternatives/php
lrwxrwxrwx 1 root root 13 Mar 17 2013 /etc/alternatives/php -> /usr/bin/php5
root@mydomain:~# ls -l /usr/bin/php5
-rwxr-xr-x 1 root root 0 Jan 19 12:42 /usr/bin/php5
root@mydomain:/usr/bin# /usr/bin/php5 -v
root@mydomain:/usr/bin#
root@mydomain:/usr/bin# type -a php
php is /usr/bin/php
linux
ubuntu
command-line
php
kirgy
źródło
źródło
ls -l /usr/bin/php
.ls -l /etc/alternatives/php
pokazuje? Twój/usr/bin/php
link do niego, czy ten plik rzeczywiście istnieje? Wygląda na to, że twój serwer ma na swojej ścieżce działający plik wykonywalny PHP, ale ty tego nie robisz. Będziesz musiał podążać za dowiązaniami symbolicznymi, aż znajdziesz brakujące./usr/bin/php5 -v
.Odpowiedzi:
Ponieważ twój
/usr/bin/php5
jest pusty, zakładam, że w pewnym momencie musiałeś go przypadkowo zastąpić. Najłatwiejszym sposobem naprawy byłoby usunięciephp
i ponowne zainstalowanie:źródło