您的安装过程中可能出现了问题,或者您可能需要修改服务器配置。要排除可能性 #1,请检查您的 MODX 配置中的路径。
MODX 中的路径,除了相当旧版本的软件外,都是在 4 个 php 文件中配置的。
其中 3 个是 config.core.php 的实例,其中仅包含:
<?php
define('MODX_CORE_PATH', '/path/to/core/');
define('MODX_CONFIG_KEY', 'config');
?>
注意MODX_CORE_PATH是你MODX核心文件夹的绝对路径,MODX_CONFIG_KEY可以在安装过程中自定义,但'config'是默认的。
文件的 3 个实例位于:
- Web 根目录,例如
'/'
- 连接器文件夹,例如
'/connectors/'
- 管理器文件夹,例如
'/manager/'
它们都应该包含config.core.php 的相同副本,并且其中的PHP 常量必须分配有有效值。核心文件夹应该由执行 MODX (PHP) 的同一用户拥有,并且应该具有0755 的权限(有时需要0775,但不建议在共享主机环境中使用)。
第四个配置文件,最重要的一个,位于MODX_CORE_PATH 的子文件夹中,名为config,文件名为MODX_CONFIG_KEY . '.inc.php'。在上面的示例中,它将是:/path/to/core/config/config.inc.php
该文件为您的 MODX 安装需要访问的所有文件夹定义了具有绝对路径和绝对 URL(相对于 Web 根目录)的常量。同样,Web 根目录的路径和 URL 也在那里定义;分别为MODX_BASE_PATH 和MODX_BASE_URL。
安装程序应该已经用正确的值填充了所有这些,但是当您遇到与路径相关的错误时,检查这些路径是一种很好的故障排除实践。
您的服务器配置也可以在这里发挥作用。例如,如果您将 MODX 安装在子文件夹中,而不是本地 Web 服务器的根目录中,则需要确保路径包含该目录。
另外,如果您在 MODX 安装中启用了 Friendly-URLs,您会希望 Apache RewriteBase 或 nginx 等效项具有正确的值。假设您的本地网络服务器设置在:
/Applications/MAMP/htdocs/
您的 MODX 安装在 /Applications/MAMP/htdocs/modx-test/
您希望 MODX 会在以下时间回复:
http://127.0.0.1/modx-test/index.php
您的MODX_BASE_PATH 是/Applications/MAMP/htdocs/modx-test/
您的MODX_BASE_URL 是/modx-test/
在您的.htaccess 文件中,靠近顶部:
RewriteEngine On
RewriteBase /modx-test/
了解以上所有内容后,您应该能够为您的 MODX 安装排除几乎所有涉及路径的问题。在不直接检查您的环境的情况下,如果我不得不大胆猜测,我会说安装脚本是从名为manager 的子文件夹中运行的,因此它被定义为MODX_BASE_URL。随后,这些文件夹被移动,因此它们不再存在于config.inc.php 文件中定义的绝对路径中。这只是一种可能性,如果它不在基地,我很抱歉。但是再次使用上述信息,您应该能够发现问题的原因。