有的php擴展,加載是有先後順序的,如果搞錯了,會導致擴展無法加載。
1、pdo_sqlsrv是sqlserver擴展,如果在pdo擴展之前加載就會報以下錯誤:
PHP Warning: PHP Startup: Unable to load dynamic library 'pdo_sqlsrv.so' (tried:
/usr/lib64/php/modules/pdo_sqlsrv.so (/usr/lib64/php/modules/pdo_sqlsrv.so: cannot open shared object file:
No such file or directory), /usr/lib64/php/modules/pdo_sqlsrv.so.so (/usr/lib64/php/modules/pdo_sqlsrv.so.so:
undefined symbol: php_pdo_register_driver)) in Unknown on line 0
解決方法:
extension=pdo.so
extension=pdo_sqlsrv.so //放到pdo後面
2、swoole擴展依賴sockets擴展,在sockets擴展之前加載就會報以下錯誤:
PHP Warning: PHP Startup: Unable to load dynamic library 'swoole.so' (tried:
/usr/lib64/php/modules/swoole.so (/usr/lib64/php/modules/swoole.so: cannot open shared object file:
No such file or directory), /usr/lib64/php/modules/swoole.so.so (/usr/lib64/php/modules/swoole.so.so:
undefined symbol: php_sockets_le_socket)) in Unknown on line 0
解決方法:
extension=sockets.so
extension=swoole.so //放到pdo後面
加載完後重新啟動php-fpm即可。
以上就是關於PHP中extension加載順序問題的解決方法的詳細內容,更多請關注其它相關文章!