1

上周我在我的 Raspberry Pi B 上安装了 PHP 7.0.0RC2。我可以查看 PHP 页面,但是,问题是我无法使用 mysqli 连接到数据库(我知道 PHP v7 不再支持 mysql)。

./configure--with-mysqli=shared. 但是,当我使用该命令检查安装了哪些模块时php -m,我没有看到 mysqli。

我尝试添加extension=mysqli.so到 php.ini 文件。它首先抱怨找不到mysqli.so文件,所以我尝试将我的php5版本的mysqli.so复制到extensions文件夹中。但是,这并没有解决问题并导致以下错误消息:

PHP 警告:PHP 启动:无法加载动态库 '/usr/local/lib/php/extensions/no-debug-non-zts-20141001/mysqli.so' - /usr/local/lib/php/extensions/no -debug-non-zts-20141001/mysqli.so:未定义符号:第 0 行未知中的 zval_used_for_init

有人对如何让 mysqli 在我的 Raspberry Pi 上安装我的 PHP7 有任何建议吗?

4

1 回答 1

1

您可能会在输出中找到详细信息configure,但很难捕捉到,而且如果不是致命错误,当您make.

MySQLi 的推荐(阅读:只有不错的)驱动程序是 MySQL Native Driver (mysqlnd)。

如果您希望 MySQLi 构建为共享的,您还必须构建 mysqlnd shared,以及依赖它的所有内容(例如 PDO MySQL)。

使用配置选项仅构建本机驱动程序静态会更简单:

--with-mysqli=mysqlnd

这将启用 mysqlnd 和 mysqli 的静态构建。

如果出于某种原因您确实想要构建共享,那么您将需要非常相似的配置选项,如果不是完全相同的话:

--enable-mysqlnd=shared
--with-mysqli=shared,mysqlnd

这将导致 mysqlnd 和 mysqli 的共享构建,需要您在适当的位置以适当的顺序(后者取决于前者)添加extension=mysqlnd.so和。extension=mysqli.so

请记住,make distclean在重新配置构建之前,如果您不这样做,将会发生令人惊讶的事情;)

于 2015-09-30T16:19:00.227 回答