【问题标题】:PHP 5.5 not finding MySQLi constructorPHP 5.5 找不到 MySQLi 构造函数
【发布时间】:2014-04-23 03:02:48
【问题描述】:

我在 AWS EC2 实例上安装了 mySQL 和 PHP 5.5。但是,当我尝试

$db = new mysqli($args)

PHP 将我踢到自动加载器,好像它找不到 mysqli 对象的构造函数。我在 php.ini 文件中有未注释的 extension=mysql.so ,但这似乎没有完成任何事情。在启动时,我得到 ​​p>

PHP Startup: Unable to load dynamic library '/usr/lib64/php/5.5/modules/msql.so' - /usr/lib64/php/5.5/modules/msql.so: cannot open shared object file: No such file or directory in Unknown on line 0

我以为 mysqli/native 驱动程序是用 PHP5.5 预先打包的,但也许我错了。谁能给我一个关于 PHP5.5 如何与 mysqli 一起玩的提示?

【问题讨论】:

  • 但需要的扩展名应该是mysqli
  • 我都试过了。 Mysql.so 是默认注释的,所以一旦 Mysqli.so 不起作用,我就使用它。
  • 我需要同时更改 php.ini 和 php-5.5.ini 吗?
  • 是的,同样的错误。 PHP启动:无法加载动态库'/usr/lib64/php/5.5/modules/msqli.so' - /usr/lib64/php/5.5/modules/msqli.so:无法打开共享对象文件:没有这样的文件或第 0 行 Unknown 中的目录

标签: php mysql amazon-web-services mysqli amazon-ec2


【解决方案1】:

对于 Amazon Linux,它没有预先打包。它是一个插件模块(假设您使用的是 Amazon Linux)。你可以运行:

sudo yum install php55-mysqlnd

【讨论】:

  • 另外,别忘了sudo service httpd restart。不知道我必须这样做,这让我搞砸了一段时间。
【解决方案2】:

可能拼错了? PHP 正在尝试加载 msqli.so,而不是 mysqli.so。检查你写的是“extension=mysqli.so”,而不是“extension=msqli.so”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-15
    • 2013-01-16
    • 2012-05-23
    • 1970-01-01
    相关资源
    最近更新 更多