今天测试 LAMP 服务器配置的时候遇到一个打开 phpMyAdmin 的时候提示 500 错误(HTTP 内部错误号)的情况。Internal error 500 出现的原因有多种。这里记录的是由于 PHP 执行路径设定造成的 500 错误。
PHP 的主配置文件 php.ini 中有关于 PHP 执行路径的设置,参数为 open_basedir
。有时候为了增强安全性而将其启用并将参数设置为具体的 VirtualHost 的目录,比如,
open_basedir = "/var/www/"
这样一来就只有位于此目录中的 php 文件才会被执行。如果要执行的 php 文件在其它目录,服务器就会提示 500 Internal error。改设置并不支持 Apache 类似的 FollowSymLinks 配置。
对于 CentOS 上采取默认安装的 EPEL 源的 phpMyAdmin,其默认目录为,
/usr/share/phpMyAdmin/
一般是通过符号连接(SymLinks)将其映射到常用的服务器目录(比如 /var/www 下)。
这么一来,前面的 PHP 的限制目录并不包含 phpMyAdmin 的目录,因此访问时会遇到内部错误。
本文发表于水景一页。永久链接:<http://cnzhx.net/blog/phpmyadmin-500-internal-error/>。转载请保留此信息及相应链接。