2010-02-11 62 views
1

让我通过说我是一个PHP环境中的初学者,这里可能有一个简单的答案。我们正在尝试使用phpCAS连接到我们大学的CAS服务器。SSO的实现问题

我们的服务器已经设置来适应这些要求:http://www.ja-sig.org/wiki/display/CASC/phpCAS+requirements,我们已经安装了phpCAS到它自己的accessable目录&列入“包含路径”变量它的路径,因此它可以很容易地访问。

当运行附带安装/CAS-1.0.1/docs/examples/example_simple.php,我反复收到以下警告:

警告:error_log中()[function.error日志]:在效果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服务器,然后将我直接重定向到此页面,并且所有警告仍可见。有什么想法吗?

+1

它看起来像你的PHP安装运行在安全模式,因此open_basedir错误信息。是否有一个phpCAS选项可以设置为在/ var/www内部写入日志文件?这至少会让你看到日志输出。 – 2010-02-11 16:47:18

+0

Phill-你是对的!这停止了​​警告的发生,现在我可以看到错误日志。我会更新上面的问题以显示日志。 – Alex 2010-02-11 17:52:26

回答

1

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

open_basedir = /var/www/:/tmp/ 
php.ini配置文件

,或者

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

httpd.conf(如适用)。