背景
使用apereo/phpcas包完成单点登录,某一次项目中,本地测试没有问题发布线上之后cas登录页出现Error Internal script failure。
查找原因
看到Error Internal script failure这个错误,完全不知道问题出在哪里,各种搜索没有找到答案,无奈进入源码。看到一个log方法,好像是用来记日志的,判断的filename存在就记录日志,继续找到看到了setDebug,在setDebug中去设置了日志文件目录之后就可以记录日志了通过日志看具体问题。
public static function log($str)
{
$indent_str = ".";
if (!empty(self::$_PHPCAS_DEBUG['filename'])) {
// Check if file exists and modifiy file permissions to be only
// readable by the webserver
if (!file_exists(self::$_PHPCAS_DEBUG['filename'])) {
touch(self::$_PHPCAS_DEBUG['filename']);
// Chmod will fail on windows
@chmod(self::$_PHPCAS_DEBUG['filename'], 0600);
}
for ($i = 0; $i < self::$_PHPCAS_DEBUG['indent']; $i+