【问题标题】:Mysql as a PHP DSOMysql 作为 PHP DSO
【发布时间】:2009-09-23 19:20:20
【问题描述】:

我有一个正在运行的服务器(正在将它变成一个开发服务器,但首先需要一些东西)所以我们不想重新编译 php 来破坏任何东西。

在新服务器上,我们有 mysql.so 和 mysqli.so 的动态扩展 我无法找到任何关于自己构建的细节,所以将它们复制到旧服务器上。在当前服务器上,它没有使用 php 配置 MySQL。 MySQL 已安装在机器上,但正在用于现在未使用的服务。目的是在远程服务器上使用 MySQL 数据库。

我已将这些行添加到 php.ini

extension=mysql.so  
extension=mysqli.so

我最终得到了这个错误:

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/extensions/mysqli.so' - libmysqlclient.so.15:cannot open shared object file: No such file or directory in Unknown on line 0

我已将该文件的副本移至 /usr/lib/mysql/,但仍收到错误消息。

我应该做些什么来让 PHP 运行 MySQL(或 MySQLi)而不必冒险在实时服务器上重新编译?

【问题讨论】:

    标签: php mysql configuration dynamic


    【解决方案1】:

    看起来您的文件路径不同。 mysql.so 是否在:

    /usr/local/lib/php/extensions/mysqli.so
    

    ?

    【讨论】:

    • 是的。 ini 也有设置 extensions_dir = "/usr/local/lib/php/extensions/"
    • “libmysqlclient.so”在哪里?
    【解决方案2】:

    最好从包或端口安装扩展和 PHP 本身,而不是自己编译源代码。你的操作系统是什么?在您的情况下,初始化 libmysqlclient 库似乎存在问题,这会引发错误。您可以从服务器上的命令行启动 mysql 客户端工具吗?可以正常使用吗?

    【讨论】:

    • 我同意这些软件包,但这不是我的决定(我的老板)。不确定操作系统到底是什么。它是一个只有命令行的 Linux 版本。我真的不想在 Web 服务器上启动 MySQL,只能调用远程数据库服务器的查询。是否必须在网络服务器上安装它才能做到这一点?
    • 您需要 libmysqlclient 才能从 PHP 中使用 MySQL。 MySQL 服务器本身不是必需的。但是 libmysqlclient 版本应该与你通过它调用的 MySQL 服务器的版本相匹配。
    猜你喜欢
    • 1970-01-01
    • 2016-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-26
    • 1970-01-01
    • 2016-12-18
    • 1970-01-01
    相关资源
    最近更新 更多