Wersja PHP dla superużytkownika to fcgi zamiast cli


7

Mam dziwny problem z wersją PHP podczas korzystania z CLI. Kiedy loguję się jako root i używam: php -votrzymuję informację, że php działa w trybie CLI, co jest w porządku, ale jak tylko sudo php -vużyję, dostaję wersję php-fcgi, która hamuje część mojego kodu. Chodzi o to, że mam Supervisora ​​skonfigurowanego do wywoływania procesu php (kolejka Laravela) i niestety jest on wywoływany w trybie fcgi, więc niektóre zmienne są niedostępne, więc mój kod się psuje. Czy istnieje jakieś obejście tego problemu? Używam CentOS 6.5.

Odpowiedzi:


1

@blackhatblade powyżej jest najbardziej prawdopodobne. Aby to przetestować, zaloguj się jako użytkownik root i użytkownik inny niż root, a następnie wypróbuj to polecenie

# który php

$ które php

„które” powinno ci wskazać ścieżkę. Jeśli są różne, niekwalifikowany „php” wykona pierwszy znaleziony na każdej liście katalogów.

Możliwe jest również, że użytkownik root może mieć „alias” powłoki, który zmienia mapowanie php. aby to sprawdzić, wypróbuj polecenie „alias”

Wreszcie, możliwe jest, że twój plik wykonywalny php jest pewnego rodzaju opakowaniem, które sprawdza środowisko wykonawcze root i przenosi cię do wersji fcgi. Sprawdź to, sprawdzając w pełni kwalifikowaną ścieżkę, którą znalazłeś w pierwszym kroku od „która”, i sprawdź, czy skrypt powłoki robi coś podstępnego w zależności od tego, kto go uruchamia.


0

Zawartość $ PATH jest prawdopodobnie inna podczas sudo. Znajdź poprawny plik binarny i podaj pełną ścieżkę.

Jeśli twój program php jest wywoływany bezpośrednio, edytuj go shebang do pełnej ścieżki pliku binarnego cli.


0

Powinieneś ustawić zmienną ścieżki w /etc/environment. i upewnij się, że zarówno użytkownik root, jak i zwykły użytkownik mają tę samą zmienną PATH.

Próbować sudo nano /etc/environment

Wykonaj kopię zapasową przed edycją pliku.

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.