gpt4 book ai didi

mysql - Wordpress - 用于主题的 Apache FollowSymlinks,使用 Mac lion

转载 作者:行者123 更新时间:2023-11-29 04:27:20 25 4
gpt4 key购买 nike

我已经在我的 Mac (lion) 上本地安装了 wordpress启用虚拟主机后,我在主机文件中创建了一个条目,将“wordpress”指向 127.0.0.1

我的 vhosts.conf 包含:

<VirtualHost *:80>
DocumentRoot "/Users/alex/Sites/wordpress"
ServerName wordpress
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
</VirtualHost>

这行得通,我可以访问默认的 wordpress 安装,没问题。

基本上,在我的 wp-content/themes 文件夹中,我放了一个符号链接(symbolic link)到(例如)
/Users/Alex/Projects/SomeTheme/

这个文件夹包含我的主题文件

但是,它只是没有检测到主题(没有出现在 WP 管理中)
如果我将文件夹复制到 wp-content/themes,那么它就可以工作。未遵循符号链接(symbolic link)

在我的/etc/apache2/users/alex.conf 中我有:

<Directory "/Users/alex/Sites/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>

我显然在某处遗漏了一些东西......

最佳答案

Wordpress 在使用符号链接(symbolic link)时存在问题。这是由于 PHP 处理 __FILE__ 魔法常量的方式。在 PHP 中,__FILE__ 返回运行它的文件的绝对路径。不幸的是,它忽略了该过程中的符号链接(symbolic link)。 (即,当您可能通过 /opt/wordpress/instance/wp-content/sym-themes/pretty 访问文件时,文件实际上位于 /opt/content/themes/pretty,当 __FILE__ 被调用时,而不是返回 /opt/wordpress/instance/wp-content/sym-themes/pretty 这是 wordpress 期望的,它返回 /opt/content/themes/pretty

WordPress 在其代码中大量使用了 __FILE__ 以及 basename() 函数来比较 wordpress 根目录与主题目录以获得主题名称诸如解析文件之类的目录。由于 PHP 处理 __FILE__ 魔术常量的方式,Wordpress 会尝试匹配路径,但由于它们是两个不同的路径,它只是将一条路径附加到另一条路径,而您最终会得到一条指向不存在的路径的路径'存在。

除非您计划进行大量代码修改,否则我强烈建议您不要在 wordpress 结构中的任何地方使用符号链接(symbolic link)。

关于mysql - Wordpress - 用于主题的 Apache FollowSymlinks,使用 Mac lion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8963532/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com