更改默认的examplep htdocs位置会导致';数据库错误';(Mac OSX)


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

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

以下是一些提示&教程(例如:如何更改OSX中的examplep-htdocs目录?)我现在可以访问本地主机了。然而,浏览位于localhost/testsite/中的wordpress网站会导致:

"建立数据库连接时出错"

有什么建议吗?是不是不可能在PC&MAC?

我的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配置文件与PC兼容,但只是想进行故障排除。

Localhost抛出解析错误,127.0.0.1导致"建立数据库连接时出错"

尝试访问http://localhost/phpmyadmin以及检查凭证。通常用户是root用户,默认情况下没有密码。此外,如果你还没有为wordpress创建数据库,也不要忘记。所以你的wp-config.php应该包含这样的内容:

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

从架构上讲,Google Drive并不是为你想要做的事情而设计的。你可以把一些东西拼凑起来,让它发挥作用,但有更好的解决方案。

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

好吧,这个解决方案远不是革命性的。当然,它不仅是htdocs文件夹必须在PC和MAC之间同步,而且是MySQL数据文件夹。

从PC上的phpmyadmin导出数据库并将其导入Mac上的Xampp设置中,可以通过"建立数据库连接时出错"消息解决此问题。