首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法让PHP在Vista 64上使用MySQL

无法让PHP在Vista 64上使用MySQL
EN

Stack Overflow用户
提问于 2009-02-20 14:30:36
回答 6查看 3.7K关注 0票数 3

我正在运行Vista 64框,并试图使用IIS7安装Joomla (我喜欢Joomla,我希望在我的网站上有一些asp.net组件,这就是为什么我想使用IIS7而不是Apache)。这是我第一次同时安装PHP和MySQL,所以很可能我做了什么明显的错误.虽然我已经尝试了足够的诊断步骤(如下所述),但我没有明显的问题.

我安装了PHP (32位,5.2.8),这似乎没问题:我得到了一个test.php,它可以在IIS7 7服务的网页中显示phpinfo。

我还安装了MySQL (32位,5.1.31,从http://dev.mysql.com/downloads/mysql/5.1.html#win32下载)。这似乎也很好(我可以使用MySQL管理员连接到它)。

我已经设置了php.ini,以及什么不能打开MySQL扩展。如果我从命令行执行PHP,我会在列表中看到-m。但是,对于phpinfo (来自命令行(PHP -info)或通过IIS (在test.php文件中)提供服务),不存在MySQL部分。因为MySQL甚至没有出现在PHP的命令行调用中,所以我认为这与IIS没有任何关系--只是在vista上安装了MySQL & PHP。

我没有安装MySQL 64位,因为我安装了32位MySQL,而且由于MySQL 32位似乎工作正常,所以我认为这不是问题所在。似乎没有正式的64位PHP版本,所以我才安装了它(同样,这似乎也很好)。

目前我已经禁用了UAC,所以这不是问题所在。

如果我将分号放在extension=php_mysql.dll前面的php.ini中,那么在运行PHP时,MySQL模块就不会出现。如果我再把它拿出来,它就会出现。因此,我至少可以肯定,我正在修改正确的php.ini

我把libeay32.dlllibmysql.dllphp_mysql.dll抄袭给了c:\windows\system32。我把它们去掉了,这似乎对PHP的输出没有什么影响(也就是说,如果模块与-m没有注释的话,MySQL仍然会出现在那里)。

我还尝试将DLL ibeay32.dlllibmysql.dllphp_mysql.dll复制到c:\windows\sysWOW64;这没有什么区别。

似乎最小的积极步骤是MySQL在从命令行运行-info时显示出来。我还需要进一步了解为什么MySQL会出现在PHP -m而不是PHP中吗?或者,我是否偏离了用这个来判断PHP能否与MySQL对话的轨道?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-02-20 15:39:41

我已经解决了大部分问题。

答案是将libmysql.dll复制到sysWOW64。不需要其他DLL,也不需要复制到system32。我想这是在64位系统上使用php32的结果。

我认为这在一开始是行不通的,因为从命令行运行PHP仍然没有显示-info。但是,从IIS提供的PHP文件中运行phpinfo确实显示了MySQL。

我仍然不知道为什么MySQL在从命令行运行-info时没有出现,但我想我现在可以接受这种情况。

票数 2
EN

Stack Overflow用户

发布于 2009-02-20 16:16:00

如果您想专注于php开发,我强烈建议您不要手动安装这些东西,然后从http://www.apachefriends.org/en/xampp.html下载xampp

基本上,这是一个完整的测试和构建包,它将链接软件并为您提供一个完整的开发环境。

还有其他apache/php/mysql捆绑包。

这里的问题是,只要apache php与mysql一起工作,您就可以简单地配置IIS连接器,并且不会破坏mysql的连接。

还记得检查每件事

票数 1
EN

Stack Overflow用户

发布于 2009-02-20 15:21:39

您确定同样的php.ini用于CLI和IIS吗?在POSIX兼容的系统上,php通常使用两种不同的系统。根据我的经验,在Windows上无意中使用错误的php.ini是php的主要障碍。

尝试在php.ini中稍微更改一个选项(比如memory_limit129M,而不是128M ),并使用到达来了解更改是否影响php@IIS/@CLI。如果这确实只影响php@IIS,那么在php.ini上搜索C: --也许还有第二个(通常在PATH中,比如C:\Windows\php.ini)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/569731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档