2017-03-24 22 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扩展。

相关问题