Jon*_* L. 8 mysql linux ubuntu php chroot
我已经用 Nginx + PHP5-FPM 配置了一个 Ubuntu 网络服务器。我创建了一个 chrooted 环境(使用 jailkit),我将我的开发人员投入其中,他们可以从那里开发他们的测试应用程序。
Chroot 监狱:/home/jail
Nginx 和 PHP5-FPM 在 chroot 之外运行,但被配置为在 chroot 环境中与网站一起运行。
到目前为止,Nginx 和 PHP5-FPM 提供文件没有问题,除了以下问题: 尝试连接到 MySQL 时,我们收到此错误:SQLSTATE[HY000] [2002] 无法通过套接字连接到本地 MySQL 服务器 ' /var/run/mysqld/mysqld.sock'
现在,我认为问题是由于非 chroot 的 php.ini 引用了 chroot 环境之外的 mysqld.sock(它目前实际上使用的是 MySQL 默认设置)。
我的问题是,如何配置 PHP 以通过环回或类似方式访问 MySQL?(在谷歌结果中发现这是一个建议,但没有任何说明)
或者,如果我遗漏了一些其他明显的设置,请告诉我。如果可以选择创建硬链接(即使重新启动 mysql 也将保持可用),那也会很方便。
Jon*_* L. 10
我解决了我自己的问题。Jailkit 无法创建对 mysqld.sock 的硬链接引用,因为 Ubuntu 将 /var/run 存储在 tmpfs 中,这在系统看来是一个单独的分区(这会破坏硬链接功能)。我现在正在监狱中安装 /var/run/mysqld ,如下所示:
mount --bind /var/run/mysqld /home/jail/var/run/mysqld/
| 归档时间: |
|
| 查看次数: |
8508 次 |
| 最近记录: |