更改默认 xampp htdocs 位置会导致 'Database Error' (Mac OSX)

Changing default xampp htdocs location results in 'Database Error' (Mac OSX)

我正在尝试将我的 Xampp htdocs 位置设置到 Google Drive 文件夹,这样我就可以从任何位置在我的 wordpress 网站上工作,并与我的 PC 笔记本电脑共享.

按照一些提示和教程(例如:how to change xampp htdocs directory in OSX?),我现在可以访问我的本地主机。但是,浏览到位于 localhost/testsite/ 的我的 wordpress 站点会导致:

'建立数据库连接时出错

有什么错误的建议吗?无法在 PC 和 MAC 之间共享 htdocs 文件夹吗?

我的 vhost.conf 看起来像(未更改):

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/Applications/XAMPP/xamppfiles/docs/dummy-host.example.com"
    ServerName dummy-host.example.com
    ServerAlias www.dummy-host.example.com
    ErrorLog "logs/dummy-host.example.com-error_log"
    CustomLog "logs/dummy-host.example.com-access_log" common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "/Applications/XAMPP/xamppfiles/docs/dummy-host2.example.com"
    ServerName dummy-host2.example.com
    ErrorLog "logs/dummy-host2.example.com-error_log"
    CustomLog "logs/dummy-host2.example.com-access_log" common
</VirtualHost>

以及对 http.conf

所做的更改
DocumentRoot "/Users/username/Google Drive/htdocs"
<Directory "/Users/username/Google Drive/htdocs">

..

# User/Group: The name (or #number) of the user/group to run httpd as.
# It is usually good practice to create a dedicated user and group for
# running httpd, as with most system services.
#
User username

更新:

我已尝试对我的 wp-config.php 文件进行一些更改,以适应有关此问题的某些线程。

/** MySQL database username */
define('DB_USER', ''); 

/** MySQL hostname */
define('DB_HOST', '127.0.0.1'); 

变化 - 从 DB_USER 中删除了根 - 尝试将 DB_HOST 更改为 Localhost(注意大写字母 L)和 127.0.0.1。这使得 wp-config-file 与 PC 兼容,但只是想进行故障排除。

Localhost 抛出解析错误,127.0.0.1 结果 "Error establishing a database connection"

尝试访问 http://localhost/phpmyadmin 并检查凭据。通常用户是 root,默认没有密码。另外,如果您还没有为 wordpress 创建一个数据库,请不要忘记这样做。所以你的 wp-config.php 应该包含这样的东西:

define('DB_NAME', 'wordpress');
define('DB_USER', 'root');
define('DB_PASSWORD', '');
define('DB_HOST', 'localhost');

在架构上,Google 驱动器不是为您想要做的事情而设计的。您可能会拼凑一些东西并使其正常工作,但还有更好的解决方案。

  • VVV 是创建本地开发服务器的一个很好的解决方案。它构建了一个您可以通过命令行控制的盒子,并且可以通过局域网上任何地方的浏览器进行访问。您可以采用基于 git 的部署策略,并在您需要的任何地方使用此框。
  • 更好的解决方案是使用 Trellis,Roots.io 生态系统的一部分。它使用 Ansible 提供一个 ready-to-go vagrant 实例,您甚至可以将整个服务器部署到一个 bare-metal 实例(如 AWS 或 Digital Ocean)上。我已经成功地使用了它,但你必须更多地参与开发操作。
  • 对于 cross-browser 测试,我建议使用 browsersync 作为 gulp 构建过程的一部分。你会 运行 gulp serve 在本地,如果你有 browsersync 作为构建脚本的一部分,它会监视你的代码库,自动在浏览器中为你更新,并允许你远程访问你的本地开发cross-browser 测试框。

好吧,解决这个问题远非革命性的。当然,不仅 htdocs-folder 需要在 PC 和 MAC 之间同步,还有 MySQL 数据文件夹。

从 PC 上的 phpmyadmin 导出数据库并将其导入到我在 Mac 上的 Xampp 设置中,通过 "Error establishing a database connection" 消息解决了这个问题。