apache 为什么我的本地REDCap示例的模块只显示目录列表而不是加载页面?

ccgok5k5  于 8个月前  发布在  Apache
关注(0)|答案(1)|浏览(51)

在我的团队设置生产服务器之前,我一直在本地机器上进行REDCap安装测试。我的组织提供的笔记本电脑运行的是Windows 11 Pro,我承认我对它很生疏,但已经基本上跟上了速度。
我的安装的当前状态使所有配置检查以绿色通过。我也可以安装外部模块并配置它们,但是一旦我单击实际的模块链接,唯一显示的就是该位置的可单击文件目录。
Configured but not displaying
第一张图片(上图)显示了错误加载模块旁边的配置能力。第二张图片(下图)显示,它通常列在侧边栏和点击。
The installed module
MySQL和REDCap是最新的版本,除了PHP,它是8.1。在运行containerized instance的REDCap后,似乎版本没有冲突,因为模块都显示正常。我能够用同样的方法安装它,它正确地显示。
Correctly displaying module
虽然我按照安装程序的说明操作,但我觉得有些东西设置不正确.并一直在努力专注于它是如何在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配置文件中可能的疏忽(例如确保DirectoryIndex包括index.htmlindex.php,以及检查php.ini,但我个人没有发现任何问题。这是我目前工作的Angular ,因为我认为Apache中可能有一些我不知道的虚拟主机的额外配置-但我对Apache也有点陌生。

p4rjhz4m

p4rjhz4m1#

如果有人有类似的问题,我回答我自己的问题,因为我找到了答案。
原来我的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文件位于该目录中。

相关问题