【问题标题】:Implementation issues with SSOSSO 的实施问题
【发布时间】:2010-02-11 16:38:38
【问题描述】:

让我先说我是 PHP 环境的初学者,所以这里可能有一个简单的答案。我们正在尝试使用 phpCAS 连接到我们大学的 CAS 服务器。

我们的服务器已设置为符合这些要求:http://www.ja-sig.org/wiki/display/CASC/phpCAS+requirements,我们已将 phpCAS 安装到它自己的可访问目录中,并将其路径包含在“include_path”变量中,以便可以轻松访问。

运行安装附带的/CAS-1.0.1/docs/examples/example_simple.php 时,我一遍又一遍地收到以下警告:

警告:error_log() [function.error-log]:open_basedir 限制生效。文件(/tmp/phpCAS.log)不在允许的路径中:(/var/www/)在 /var/www/html/root/CAS-1.0.1/CAS.php 第 453 行

警告:error_log(/tmp/phpCAS.log) [function.error-log]:打开流失败:在 /var/www/html/root/CAS-1.0.1/CAS.php 中不允许操作第 453 行

我在屏幕上一遍又一遍地重复这些警告,然后是以下消息:

需要 CAS 身份验证!
您应该已经被重定向到 CAS 服务器。点击此处继续。

单击登录会将我发送到我们适当的 CAS 服务器,然后将我直接重定向回此页面,所有警告仍然可见。有什么想法吗?

【问题讨论】:

  • 看起来您的 PHP 安装在安全模式下运行,因此出现 open_basedir 错误消息。是否有一个 phpCAS 选项可以设置为在 /var/www 某处写入日志文件?这至少可以让你看到日志输出。
  • 菲尔-你是对的!这阻止了警告的发生,现在我可以看到错误日志。我将更新上面的问题以显示日志。

标签: php single-sign-on cas


【解决方案1】:

您的 CAS 实现想要将日志写入 /tmp 目录,但您的 PHP 配置禁止这样做。要为脚本打开该目录,请尝试

open_basedir = /var/www/:/tmp/

在您的 php.ini 配置文件中,或

php_admin_value open_basedir "/var/www/:/tmp/"

在您的httpd.conf(如果适用)中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-01
    • 1970-01-01
    相关资源
    最近更新 更多