2017-03-24 28 views
-1

當我運行以下命令:composer -v我得到一個警告:爲什麼composer -v返回php_fileinfo.dll的PHP啓動警告?

PHP的警告:PHP啓動:無法加載動態庫 '/usr/lib/php/20151012/php_fileinfo.dll' - /usr/lib中/ PHP/20151012/php_fileinfo.dll:無法打開共享對象 的文件:在未知沒有這樣的文件或目錄在線0

警告:PHP啓動:無法加載動態庫 「/ usr/lib中/ php/20151012/php_fileinfo.dll' - /usr/lib/php/20151012/php_fileinfo.dll:無法打開共享對象 文件:沒有這樣的文件或目錄在未知的行0

請幫我理解爲什麼發生這種情況,以及如何解決它。

+0

如果你想刪除這個庫,你可以在php.ini中註釋。瞭解更多細節。 http://php.net/manual/en/fileinfo.installation.php –

+2

'.dll'和一個linux類型路徑('/ usr/lib')看起來不合適 – apokryfos

+0

@axiac我的錯誤...如果我可以屯回時間 – JustBaron

回答

0

丟失文件的路徑(/usr/lib/php/20151012)告訴我您在類Unix操作系統(Linux或MacOS)上遇到此問題。但是該文件的名稱(php_fileinfo.dll)特定於Windows。這兩個不匹配。

問題是PHP配置爲加載它找不到和加載的擴展。該錯誤位於php.ini文件中。

在macOS和Linux系統上,php.ini文件通常保留在/etc中,但它也可以位於其他位置。找到它的最安全的方法是詢問PHP從哪裏加載它。

打開一個終端,運行:

php -i | grep php.ini 

你會得到一個輸出,看起來與此類似:

Configuration File (php.ini) Path => /usr/local/etc/php 

/php.ini提供的路徑後,在你喜歡的編輯器打開該文件。例如,使用vi和我的設置,命令是:

vi /usr/local/etc/php/php.ini 

滾動文件(或使用編輯器的「搜索」功能),直到你發現,像這樣開頭的行塊:

;extension=php_bz2.dll 
;extension=php_curl.dll 
;extension=php_fileinfo.dll 
;extension=php_gd2.dll 
;extension=php_gettext.dll 
;extension=php_gmp.dll 
... 

確保此類型的所有行(extension=php_***.dll)都以分號(;)開頭。該行前面的分號使其成爲評論; PHP將忽略該行,並且不會嘗試加載Windows擴展。

相關問題