php - 从源安装 php 和 mysql 找不到头文件

标签 php mysql linux package

我已经阅读了一些现有的主题,但没有找到答案。我正在尝试从源代码安装 php。我希望只有一个我可以安装的 rmp 包,但我还没有找到。

所以我必须构建安装。我安装了所有依赖项(最后大声笑)但是我在查找 mysql 头文件的配置方面遇到问题。

我正在使用 webmin,但我是在另一台显示器上通过 ssh 框进行提交的,所以这不是 webmin 问题。

这是我安装的包

mysql-community-client 5.7.14-1.el6

mysql-community-common 5.7.14-1.el6

mysql-community-devel 5.7.14-1.el6

mysql-community-libs 5.7.14-1.el6

mysql-community-libs-compat 5.7.14-1.el6

mysql-community-server 5.7.14-1.el6

mysql57-community-release el6-8

我在 linux CentOs6 64 位 dedi 服务器上,这是我收到的消息。

配置:错误:在/usr/include/mysql下找不到MySQL头文件 请注意,不再捆绑 MySQL 客户端库!

我试过:

/usr/include/mysql

/usr/local/mysql

/usr/bin/mysql

/var/run/mysqld

这是我的命令:

  ./configure --with-apxs2=/usr/sbin/apxs \
        --with-mysql=/usr/bin/mysql \
        --with-zlib --enable-mbstring \
        --with-curl

我假设头文件是 .h 文件,对吗?/usr/include/mysql 中有很多,但我试过了,同样的事情。

我应该尝试/var/lib64 而不是 lib 吗?

谁能告诉我在哪里可以找到头文件,甚至可以给我一个示例头文件名,这样我就可以找到那个名字,看看它是否存在?如果是这样,那将帮助我找到其他人。

或者任何人都可以看到我做错了什么,现在知道要这样做了吗?

非常感谢。

最佳答案

为简单起见,从 MySQL 下载页面的一般可用 (GA) 版本下下载“ bundle ”。例如,对于 RedHat/CentOS,它是:mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar

解压这个文件。

如果由于数据库安装在另一台服务器上而只需要MySQL支持,请安装devel rpm

rpm -Uvh mysql-community-devel-5.7.18-1.el7.x86_64.rpm

头文件现在位于它们的默认位置:/usr/include/mysql/,您可以在那里找到 mysql.h

您只需要使用默认位置配置 PHP,例如:

./configure --prefix=/tmp/php --with-mysql --with-mysqli --with-pdo-mysql

在运行 make 和 make install 之后,运行 php -i,你将支持这 3 个 mysql 连接。

如果您还想在您的服务器上运行一个数据库,您需要安装 bundle 附带的其他 rpm。但这不是你的问题。

关于php - 从源安装 php 和 mysql 找不到头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39310287/

相关文章:

php - 自动滚动到页面底部

php - 选择可用资源的逻辑

约会门户的Mysql表和索引设计

php - 无法连接到 'server' 上的 MySQL 服务器

mysql - 无法使用 MySQL(8.0.15) 验证我的 Node js(v10.15.3) 应用程序、npm mysql (v2.17.1) (ER_ACCESS_DENIED_ERROR)

c++ - 抓还是不抓

php - 使用 DOMXpath::query 获取 id 旁边的第一张图片

php - Magento 购物车总计汇总

php - 如何在shell脚本中无限次运行php文件

linux - 如何在 shell 中使用花括号 (bash)