PHP nie będzie działało w Linuksie z linii poleceń


2

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

Zarzuty publikują wyniki ls -l /usr/bin/php.
terdon

root @ mojadomena: ~ # ls -l / usr / bin / php lrwxrwxrwx 1 root root 21 marca 17 2013 / usr / bin / php -> / etc / alternatives / php
kirgy

Ach, ciekawe i co ls -l /etc/alternatives/phppokazuje? Twój /usr/bin/phplink 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.
terdon

Rozumiem, oto następujący (przepraszam za formatowanie) root @ mydomain: ~ # ls -l / etc / alternatives / php lrwxrwxrwx 1 root root 13 marca 17 2013 / etc / alternatives / php -> / usr / bin / php5 root @ moja_domena: ~ # ls -l / usr / bin / php5 -rwxr-xr-x 1 root root 0 stycznia 19 12:42 / usr / bin / php5
kirgy

1
Proszę edytować swoje pytanie i @ping mi daj mi znać. Trudno to odczytać i łatwo zgubić w komentarzach. W tym momencie dodaj wynik działania /usr/bin/php5 -v.
terdon

Odpowiedzi:


0

Ponieważ twój /usr/bin/php5jest pusty, zakładam, że w pewnym momencie musiałeś go przypadkowo zastąpić. Najłatwiejszym sposobem naprawy byłoby usunięcie phpi ponowne zainstalowanie:

sudo apt-get remove php5 && sudo apt-get install php5
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.