【问题标题】:PHP, MySQL on IIS - MySQL not being loaded when serving pagesIIS 上的 PHP、MySQL - 服务页面时未加载 MySQL
【发布时间】:2008-12-12 01:21:47
【问题描述】:

我已经尽我所能在 Windows Server 2003 上设置了 IIS (6.0)、PHP (5.2.8) 和 MySQL (5.1.30),所有相关人员都在 IIS 中胡思乱想(我认为)和 PHP 让事物相互交流。

PHP 确实可以工作 - 但是,我无法使用 PHP 页面中的 mysql 或 mysqli 库。 致命错误: 在...中找不到类 'mysqli'
致命错误: 在...中调用未定义的函数 mysql_connect()

在 PHP 页面中使用 phpinfo() 时不会出现与 MySQL 或 MySQLi 相关的信息。

但是,当我从命令行调用 PHP 时,例如

> php -r phpinfo()

与 MySQL 和 MySQLi 相关的信息 确实 出现在其输出中。

重新启动 IIS 或操作系统不会产生进一步的影响。我只有一个 php.ini 文件,在 PHP 根目录下。

我还需要以某种方式将 MySQL 连接到 IIS,还是还有其他问题?

【问题讨论】:

    标签: php mysql iis wimp


    【解决方案1】:

    用于 PHP 命令行使用的 php.ini 文件可能与 Web 服务器使用的 php.ini 不同。您应该通过在您的 Web 服务器的文档空间下放置一个小的 PHP 脚本来获取 phpinfo() 信息:

    <?php
    phpinfo();
    ?>
    

    使用浏览器打开此 PHP 脚本,通过 URL 向您的 Web 服务器请求该 PHP 脚本。这将告诉您 Web 服务器认为您的 PHP 配置是什么。

    还请记住,您需要重新启动 Web 服务器才能使对 php.ini 的编辑生效。它只在 web 服务器启动时读取 php.ini。

    您的 IIS 实例使用的 php.ini 文件可能存在很多地方。详情请见http://php.net/manual/en/configuration.phphttp://www.iis-aid.com/articles/how_to_guides/where_php_ini_is_loaded_from

    在浏览器中查看phpinfo() 的输出,并查找“加载的配置文件”项。

    【讨论】:

    • 是的,我一直在定期重启服务器。问题是,使用上面的 phpinfo() 会返回与命令行不同的结果 - 因此 MySQL 从 PHP 命令行工作,但 not 从网页工作。我只有一个 php.ini 文件,在 PHP 根目录中。
    • 是的,检查 ini 文件的位置就可以了 - 结果是没有找到它。我在 C:\Windows 中放了一份副本,它起作用了 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-25
    • 1970-01-01
    相关资源
    最近更新 更多