提问人:1000DaysofCode 提问时间:10/5/2023 更新时间:10/5/2023 访问量:46
为什么我的本地 REDCap 实例的模块只显示目录列表,而不是加载页面?
Why is my local REDCap instance's module only displaying a directory listing instead of loading the page?
问:
在我的团队设置生产服务器之前,我一直在本地计算机上进行测试 REDCap 安装。我的组织提供的笔记本电脑运行的是 Windows 11 专业版,我承认它很生疏,但大部分都跟上了速度。
我的安装的当前状态使所有配置检查都通过绿色。我还可以安装外部模块并对其进行配置,但是一旦我单击实际的模块链接,唯一显示的就是该位置的可单击文件目录。
第一张图片(上图)显示了错误加载模块旁边的配置能力。第二张图片(下图)显示它通常列在侧边栏中并且可点击。
MySQL 和 REDCap 是最新版本,但 PHP 除外,PHP 为 8.1。在运行 REDCap 的容器化实例后,版本似乎没有冲突,因为模块都正确显示。我能够使用相同的确切方法安装它,并且它正确显示。
虽然我按照安装过程的说明进行了操作,但我觉得有些东西设置不正确......并一直试图专注于如何在 Apache 中具体配置它。我以为它可能是保存目录的地方,但其他一切似乎都正常运行。
当前路径是解析为 - 我以为路径可能是问题的一部分,但我被难住了。C:\Apache24\htdocs\redcap\redcap_v13.10.0\home.php
https://local.host/redcap/redcap_v13.10.0/home.php
我最初尝试将 REDCap 降级到 13.7.x LTS,然后尝试将 PHP 降级到 7.4.x 版,因为我认为可能由于兼容性问题而无法加载模块。
我尝试手动安装模块(下载模块并将其直接粘贴到模块目录中),因为我认为更简单的“单击安装”功能可能有问题(事实并非如此)。
我已经检查了 Apache 配置文件中是否有可能的疏忽(例如确保包含和 ,以及检查,但我个人没有发现任何错误。这是我目前正在研究的角度,因为我认为 Apache 中的虚拟主机可能有一些我不知道的额外配置 - 但我对 Apache 也有点陌生。DirectoryIndex
index.html
index.php
php.ini
答:
如果有人有类似的问题,我会在找到答案时回答我自己的问题。
事实证明,我的Apache服务器配置不正确。以下是在文件末尾添加的正确配置:httpd.conf
# PHP8 Configuration
AddHandler application/x-httpd-php .php
AddType application/x-httpd-php .php .html
LoadModule php_module "C:\php\php-8-1\php8apache2_4.dll"
PHPIniDir "C:\php\php-8-1"
DirectoryIndex index.php
LoadModule
是存储在 php 目录中的完整路径,无论它在哪里。.dll
PHPIniDir
是该目录的根目录,可在其中找到您的文件。php.ini
评论