【问题标题】:Undefined mysql functions using mySql5 + php5 + apache2 installed by macports under mac os xmac os x下macports安装的使用mySql5 + php5 + apache2的未定义mysql函数
【发布时间】:2010-02-03 16:04:28
【问题描述】:

我已经使用 macports 安装了 mySql5 并且确实设法运行了 mysql 服务器。 但由于某种原因,所有与 mySql 相关的函数(如 mysql_connect)都会返回错误消息 在php5下说“对未定义函数的调用......”。

这是从 phpinfo 报告中截取的部分 mysqlnd 部分:

mysqlnd enabled
Version  mysqlnd 5.0.5-dev - 081106 - $Revision: 289630 $
Command buffer size  4096
Read buffer size  32768
Read timeout  31536000
Collecting statistics  Yes
Collecting memory statistics  Yes

Client statistics 
bytes_sent  0
bytes_received  0
packets_sent  0
packets_received  0
protocol_overhead_in  0
protocol_overhead_out  0
bytes_received_ok_packet  0 

有人知道如何解决这个问题吗?

谢谢

【问题讨论】:

  • mysqlnd 不是将 API 暴露给 php 脚本的实际扩展。它是其他扩展使用的通信层,如 php-mysql、php-mysqli 和 PDO_MYQSL

标签: php mysql apache macos


【解决方案1】:

您是否也安装了带有 mysql 变体的 php5?

sudo port install php5 +mysql 或类似的东西...我有一段时间没有安装 php 端口。 :-)

【讨论】:

  • 不,我只是单独安装了它们。如何判断 PHP 与 mySql 一起正常工作?
  • 查看命令行上的 phpinfo (php -i 或将 <?php phpinfo() ?> 放到 php 文件中并在浏览器中访问它。它会告诉您所有已安装的扩展。但是,为此特定情况下,如果您在安装 php 时没有添加 mysql 变体,那么我可以告诉您它不存在。您需要使用适当的变体重新安装 php。您可以使用port variant $php 获得可用变体列表(不确定您正在使用的 php 包的名称,因此将 $php 替换为该包名称)
  • 我需要先卸载PHP吗?或者我可以安装缺少的扩展?这个命令行是什么?
  • 没有mac端口会自动卸载/禁用当前的php安装并安装/激活指定的新的。命令应该类似于:sudo port install $phpPackageName +mysql。请参阅安装带有变体的软件包的手册:guide.macports.org/#using.variants
猜你喜欢
  • 2010-09-30
  • 2010-09-14
  • 1970-01-01
  • 1970-01-01
  • 2023-03-20
  • 2016-10-08
  • 2011-07-18
  • 2011-10-07
  • 2023-03-11
相关资源
最近更新 更多