2013-08-07 19 views
10

Po tym, jak próbowałem godzinami znaleźć dobrą ścieżkę do PHP-CLI, w końcu ją znalazłem. Ale mój dumny wkrótce zniknął ponownie.Nie znaleziono PHP-CLI

Wciąż mam następujący błąd:

Poniższe wymagania nie zostały spełnione. W wyniku tego przesyłanie filmów zostało wyłączone.

  • Nie można zlokalizować ścieżkę do PHP-CLI

Próbowałem wiele różnych ścieżek

  • bin/php
  • usr/local/lib
  • usr/local/lib/php
  • usr/local/bin/php (jest to dobre, które myślałem).

Nadal pojawia się ten sam błąd, co powyżej. Co się dzieje? Mój serwer nie działa w trybie awaryjnym, a mój exec() jest włączony poprzez plik php.ini.

Proszę mi pomóc ..

Edit:

Paul

Q: Have you tried any "fully qualified paths", e.g. "/bin/php" (not just "bin/php")?

A: Próbowałem oba rozwiązania, bez rezultatu.

Q: Are you sure php-cli is installed on your system (it's typically a seperate package from the Apache PHP plug-in)? EXAMPLE: apt-get install php5-common libapache2-mod-php5 php5-cli.

A: Próbowałem to w SSH mojego serwera, jego serwerze CentOS więc nie znalazł komentarz

@Peter:

If you installed PHP through your OS package manager, the path would probably be /usr/bin/php, which appears to be the only one you didn't try

Próbowałem tego teraz, nie pomogłem, wciąż ten sam błąd:

PHP Cli Error

Edit2

@ Dev null

You have found and what? Just knowing where >is located will not fix it, have you changed some >code or environment variable PATH to make it

A:. Jego pole wejściowe, gdzie trzeba umieścić ścieżkę w nie uległy zmianie kodu, ponieważ PHP w wersji 5.3. 17 (CLI) zainstalowane na moim serwerze CentOS. Więc nie trzeba zmieniać kodu tylko dla ścieżki, prawda?

Edit

Moja informacji PHP, PHP 5.3.17 (CLI) Sprawdź poniżej obraz ..

PHP Info

Edit

Kiedy zrobić rpm -q php-cli uzyskać PHP-CLI not installed i kiedy chcę zainstalować dostaję No package php-cli available. Zobacz zdjęcie poniżej.

PHP CLI 2

Edit

Wynik /bin/php -v poniżej.

PHP CLI -v Result

+3

P: Czy wypróbowałeś jakiekolwiek "w pełni kwalifikowane ścieżki", np. "/ bin/php" (nie tylko "bin/php")? P: Czy jesteś pewien, że php-cli jest zainstalowany w twoim systemie (zazwyczaj jest to * osobny * pakiet z wtyczki Apache PHP)? PRZYKŁAD: 'apt-get install php5-common libapache2-mod-php5 php5-cli'. – paulsm4

+2

Jeśli zainstalowałeś PHP za pośrednictwem swojego menedżera pakietów OS, ścieżka prawdopodobnie byłaby '/ usr/bin/php', która wydaje się być jedyną, której nie próbowałeś. –

+0

Znalazłeś i co? Samo ustalenie, gdzie się znajduje, nie naprawi tego, czy zmieniłeś kod lub zmienną środowiskową 'PATH', aby działała? –

Odpowiedz

1

spróbuj wykonać następujące czynności, aby ją znaleźć:

sudo find/-name php-cli 

Najprawdopodobniej chcą php zamiast php-cli chociaż.

+0

Czy za pomocą tego polecenia pojawi się poprawna ścieżka PHP-CLI? Zamierzam spróbować i powiedzieć, czy to jest rozwiązanie. –

+0

@DennisStrooband Możesz także wypróbować 'który php-cli', który powinien pokazać ścieżkę do pliku wykonywalnego, który system operacyjny uważa za poprawny dla polecenia' php-cli', ale zwróci pusty wynik, jeśli nie rozpoznaje dowództwo. Spróbuj 'który ls' zobaczy przykład czegoś, co działa. –

+0

@Kwolfie nie otrzymuję odpowiedzi, kiedy umieszczam twoje polecenie w SSH. –

3

CentOS dostarcza interpreter wiersza poleceń w PHP w pakiecie php-cli. Więc najpierw trzeba sprawdzić, czy jest zainstalowany lub nie:

rpm -q php-cli 

Jeśli zainstalowany, można wymienić wszystkie swoje pliki:

rpm -ql php-cli 

... i odfiltrować potencjalne binarne:

rpm -ql php-cli | grep /bin/ 

Więcej szczegółowych informacji można znaleźć w rozdziale przewodnim po wdrożeniu.

Jeśli pakiet nie jest zainstalowany:

yum install php-cli 

Więcej informacji na Installing New Software with yum.


Wszystko to odpowiedź zakłada, że ​​nikt nie złamał system pakietów poprzez zainstalowanie oprogramowania ręcznie. Jeśli tak się stało, nie można określić, jakie zmiany wprowadzono w systemie.

Edytuj nr 1: Właśnie widziałem twoją ostatnią edycję, w której php-cli działa. Następnie, jeśli chcesz znać ścieżkę wystarczy wpisać to:

which php 

Edit # 2: Wydaje się mieć maksymalnie 4 plików binarnych zwanych php na swojej drodze. Nadal uważam, że właściwą niezawodny sposób, aby znaleźć php-cli binarny działa rpm -ql php-cli ale biorąc pod uwagę, że php znajdzie się na ścieżce Jestem pewien, że to znajduje się w /bin/php i można go sprawdzić przez wykonanie:

/bin/php -v 

Uruchom dokładnie to polecenie - nie usuwaj żadnych ukośników ani dołączaj -cli.

Jeśli twój skrypt, jakkolwiek on wygląda, nie może go znaleźć, robi to źle lub brakuje mu odpowiednich uprawnień.

+0

Dziękujemy za wspaniałą odpowiedź. Gdy używam 'które PHP' następnie uzyskać następujące ścieżki: ' bin/php' 'usr/local/lib' ' usr/local/lib/php' 'usr/local/bin/php' Nic z tego nie jest dobre .. nadal otrzymuję taki sam błąd jak powyżej .. –

+0

Czy masz na myśli, że dostajesz ścieżki bez wiodących ukośników? Dziwne ... –

+0

G. Victoria. Nie z wiodącymi ukośnikami, ale nadal nie działa, gdy umieszczam go w polu mojego skryptu. –