如何修复PHP的警告:PHP启动:无法加载动态库'分机\\\\ php_curl.dll“? [英] How to fix PHP Warning: PHP Startup: Unable to load dynamic library 'ext\\php_curl.dll'?
问题描述
我目前有PHP 5.5.12和Apache 2.4的Windows Server 2008 R2上安装。一切都没有问题/警告运行完美。
I currently have PHP 5.5.12 and Apache 2.4 installed on Windows Server 2008 R2. Everything is running perfectly with no issue/warnings.
我所做的是复制同一个Apache的文件/配置到另一台服务器。我复制了 C:\\ PHP
目录,然后在 C:\\ Apache24
目录并粘贴他们到新的服务器。
What I have done is copied the same Apache file/configuration to another server. I copied the C:\PHP
directory and then the C:\Apache24
directory and pasted them into the new server.
然后我安装了一个改变了Apache(即的httpd -k安装
)。我改变了端口号从80到8877. Apache的工作没有问题,它是在8877端口上运行。我也可以去SERVER_IP_ADDRESS打开默认的网页:8877和它的作品。
Then I installed the Apache with one change (ie httpd -k install
.) I changed the port number from 80 to 8877. The Apache is working with no issue and it is running on the 8877 port. I can also open the default page by going to SERVER_IP_ADDRESS:8877 and it works.
不过,PHP不工作,因为它应该。从Apache服务器error.log文件我得到警告以下
But, PHP is not working as it should. In the error.log file from the Apache server I get the warning listed below
PHP Warning: PHP Startup: Unable to load dynamic library 'ext\\php_curl.dll' - The specified module could not be found.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'ext\\php_ldap.dll' - The specified module could not be found.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'ext\\php_mysql.dll' - The specified module could not be found.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'ext\\php_mysqli.dll' - The specified module could not be found.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'ext\\php_openssl.dll' - The specified module could not be found.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'ext\\php_pdo_mysql.dll' - The specified module could not be found.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'ext\\php_sqlsrv_55_ts.dll' - The specified module could not be found.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'ext\\php_pdo_sqlsrv_55_ts.dll' - The specified module could not be found.\r\n in Unknown on line 0
我似乎无法找出为什么我得到这个错误?所有的警告,指出指定的模块找不到.dll文件做存在于C:\\ PHP \\分机directoryphp
I can't seem to figure out why I get this error? All the .dll files that the warning is stating "The specified module could not be found" do exists in the C:\PHP\ext directoryphp
PHP扩展库位于
C:\php\exe
在php.ini文件我有这个变量
Inside the file php.ini I have this variable
extension_dir = "ext"
这里是ext文件夹的目录列表
here is a directory listing of the ext folder
Volume in drive C is OS
Volume Serial Number is C63C-1D75
Directory of C:\php\ext
07/29/2014 06:42 PM <DIR> .
07/29/2014 06:42 PM <DIR> ..
04/30/2014 02:46 PM 66,560 php_bz2.dll
04/30/2014 02:46 PM 72,704 php_com_dotnet.dll
04/30/2014 02:46 PM 507,392 php_curl.dll
04/30/2014 02:46 PM 18,944 php_enchant.dll
04/30/2014 02:46 PM 43,008 php_exif.dll
04/30/2014 02:46 PM 2,679,808 php_fileinfo.dll
04/30/2014 02:46 PM 1,358,848 php_gd2.dll
04/30/2014 02:46 PM 40,960 php_gettext.dll
04/30/2014 02:46 PM 240,128 php_gmp.dll
04/30/2014 02:46 PM 831,488 php_imap.dll
04/30/2014 02:46 PM 65,024 php_interbase.dll
04/30/2014 02:46 PM 261,632 php_intl.dll
04/30/2014 02:46 PM 179,200 php_ldap.dll
04/30/2014 02:46 PM 1,239,552 php_mbstring.dll
04/30/2014 02:46 PM 36,864 php_mysql.dll
04/30/2014 02:46 PM 88,576 php_mysqli.dll
04/30/2014 02:46 PM 141,824 php_oci8.dll
04/30/2014 02:46 PM 142,336 php_oci8_11g.dll
04/30/2014 02:46 PM 120,320 php_opcache.dll
04/30/2014 02:46 PM 72,704 php_openssl.dll
04/30/2014 02:46 PM 21,504 php_pdo_firebird.dll
04/30/2014 02:46 PM 24,576 php_pdo_mysql.dll
04/30/2014 02:46 PM 23,040 php_pdo_oci.dll
04/30/2014 02:46 PM 20,480 php_pdo_odbc.dll
04/30/2014 02:46 PM 27,648 php_pdo_pgsql.dll
04/30/2014 02:46 PM 465,408 php_pdo_sqlite.dll
08/28/2012 04:15 PM 186,520 php_pdo_sqlsrv_54_ts.dll
06/26/2013 03:22 PM 166,400 php_pdo_sqlsrv_55_ts.dll
04/30/2014 02:46 PM 90,112 php_pgsql.dll
04/30/2014 02:46 PM 12,288 php_shmop.dll
04/30/2014 02:46 PM 385,536 php_snmp.dll
04/30/2014 02:46 PM 236,544 php_soap.dll
04/30/2014 02:46 PM 54,784 php_sockets.dll
04/30/2014 02:46 PM 617,472 php_sqlite3.dll
08/28/2012 04:15 PM 204,952 php_sqlsrv_54_ts.dll
06/26/2013 03:22 PM 183,296 php_sqlsrv_55_ts.dll
04/30/2014 02:46 PM 31,744 php_sybase_ct.dll
04/30/2014 02:46 PM 236,544 php_tidy.dll
04/30/2014 02:46 PM 51,712 php_xmlrpc.dll
04/30/2014 02:46 PM 231,936 php_xsl.dll
40 File(s) 11,480,368 bytes
2 Dir(s) 83,103,895,552 bytes free
当我尝试访问的网站我得到这个错误
When I try to access the website I get this error
致命错误:未定义类常量'MYSQL_ATTR_INIT_COMMAND
Fatal error: Undefined class constant 'MYSQL_ATTR_INIT_COMMAND'
这是因为扩展不加载。
我假设的配置是正确的,因为相同的配置都在不同的服务器上工作。
I am assuming that the configuration are correct since the same configuration are working on a different server.
我怎样才能解决这个PHP的启动问题?
How can I fix this PHP Startup issue?
推荐答案
像@Darren在评论中说,阿帕奇不明白的php.ini
Windows系统中的相对路径
Like @Darren said in comments, Apache don't understand php.ini
relative paths in Windows Systems.
在PHP手册中,我们有一个如何对微软安装 Apache 2.X的窗户的。其中一个评论建议使用绝对路径。
In PHP manual we have an How-to install Apache 2.x on Microsoft Windows. One of the comments suggests using absolute paths.
所以,尽量在你的的php.ini
来绝对路径改变相对路径。
So, try changing the relative paths in your php.ini
to absolute paths.
extension_dir="C:\full\path\to\php\ext"
这篇关于如何修复PHP的警告:PHP启动:无法加载动态库'分机\\\\ php_curl.dll“?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!