Zauważ, że możesz również otrzymać ten błąd, jeśli twoja biblioteka PHP nie ma "innych" uprawnień do otwierania katalogu. W moim konkretnym przypadku zauważyłem to podczas używania php -l
do sprawdzania składni skryptu w moim edytorze tekstu. Oznaczało to, że ponieważ moje konto nazywało się „volomike”, to konto nie miało uprawnień do uruchamiania bibliotek, które mająphp
polegało polecenie.
Na przykład w systemie Ubuntu 14.04 PHP5 zostało automatycznie zainstalowane w ścieżce /usr/lib/php5/20121212+lfs
. Jednakże, ponieważ pracowałem w C ++ przy budowaniu niektórych obiektów współdzielonych, majstrowałem przy uprawnieniach do katalogu i schrzaniłem rzeczy tak, że konta inne niż root nie miały uprawnień do wykonywania katalogu (otwierania katalogu) do przeglądania /usr/lib/php5/20121212+lfs
. Tak więc wpisałem następujące polecenie, aby rozwiązać ten problem:
sudo chmod o+x /usr/lib/php5/20121212+lfs
.
Teraz, gdy robię to php -l example.php
jako użytkownik inny niż root, nigdy więcej nie powoduje to problemu „Nie można załadować biblioteki dynamicznej”.