1

我试图让 XHProf 在我的 WampServer 上工作。

我已从以下位置下载了 dll:http : //dev.freshsite.pl/php-extensions/xhprof/file/details/xhprof-0103-for-php-53-vc9.html 并在 C:\ 中重命名为 xhprof.dll wamp\bin\php\php5.3.9\ext(这是 phpinfo() 中为扩展列出的目录)

来自 phpinfo() 的 Php.ini 路径:C:\wamp\bin\apache\Apache2.2.21\bin\php.ini

该文件中列出的扩展名:

 extension=php_curl.dll
 extension=xhprof.dll
 ;extension=php_dba.dll
 extension=php_mbstring.dll
 ;extension=php_exif.dll
 ;extension=php_fileinfo.dll
 extension=php_gd2.dll
 ;extension=php_gettext.dll
 ;extension=php_gmp.dll
 ;extension=php_intl.dll
 ;extension=php_imap.dll
 ;extension=php_interbase.dll
 ;extension=php_ldap.dll
 ;extension=php_ming.dll
 ;extension=php_mssql.dll
 extension=php_mysql.dll
 extension=php_mysqli.dll
 ;extension=php_oci8.dll
 ;extension=php_oci8_11g.dll 
 ;extension=php_openssl.dll
 ;extension=php_pdo_firebird.dll
 ;extension=php_pdo_mssql.dll
 extension=php_pdo_mysql.dll
 ;extension=php_pdo_oci.dll
 ;extension=php_pdo_odbc.dll
 ;extension=php_pdo_pgsql.dll
 extension=php_pdo_sqlite.dll
 ;extension=php_pgsql.dll
 ;extension=php_phar.dll
 ;extension=php_pspell.dll
 ;extension=php_shmop.dll
 ;extension=php_snmp.dll
 ;extension=php_soap.dll
 ;extension=php_sockets.dll
 ;extension=php_sqlite.dll
 ;extension=php_sqlite3.dll
 ;extension=php_sybase_ct.dll
 ;extension=php_tidy.dll
 ;extension=php_xmlrpc.dll
 ;extension=php_xsl.dll
 ;extension=php_zip.dll

但是当我重新启动 WampServer 和与之关联的服务时,phpinfo() 中没有出现 XHProf 信息

我正在寻找解决此问题的方法,或者寻找进一步的方法来调查为什么此扩展程序未加载

谢谢

4

2 回答 2

1

您使用的是 64 位的 WampServer,但 xhprof.dll 是为 32 位架构制作的,并且不兼容。在我自己的 Windows 7 机器上,我在 apache_error.log 中收到此错误:

PHP Warning:  PHP Startup: Unable to load dynamic library 'c:/wamp/bin/php/php5.3.8/ext/php_xhprof.dll' - %1 is not a valid Win32 application.\r\n in Unknown on line 0
<br />
<b>Warning</b>:  PHP Startup: Unable to load dynamic library 'c:/wamp/bin/php/php5.3.8/ext/php_xhprof.dll' - %1 is not a valid Win32 application.
 in <b>Unknown</b> on line <b>0</b><br />

目前似乎没有 64 位版本,因此您只能选择可以执行的操作。第一个选择是使用 32 位版本的 WampServer(在开发机器上我看不出有太多缺点)。二是在新鲜现场甜言蜜语,编译/支持64位。祝你好运!

于 2012-05-04T08:16:10.683 回答
1

谢谢伦纳德·查利斯。几个小时以来,我遇到了类似的错误。我需要使用 php_ibm_db2.dll。将其添加到扩展文件夹和 php.ini 文件后。我开始收到错误消息。

无法加载动态库 'c:/wamp/bin/php/php5.3.13/ext/php_ibm_db2.dll' - %1 不是有效的 Win32 应用程序。

我遇到的一些解决方案建议将其放在 system32 文件夹中。那没有帮助。我去了几个论坛和博客。所有建议都失败了。直到我看到你的推荐。这么简单,想不通为什么我没想到。虽然错误信息有点模糊。

顺便说一句,对于那些使用PHP 到 DB2 环境的人,可以在此处获得 dll 文件:http: //sourceforge.net/projects/db2mc/files/

确保您还安装了 Microsoft Visual C++ 2010 SP1 Redistributable Package (x86) - vcredist_x86.exe。

http://www.microsoft.com/en-us/download/details.aspx?id=8328

我希望这对将来可能遇到类似问题的人有所帮助。感谢所有为本论坛做出贡献的人。这是一个很大的帮助。

于 2013-04-23T13:49:05.807 回答