以前用CAS一直是用java的客户端,今天想把自己的phpMyAdmin集成到中心认证系统中,这样就不需要到apache的目录中用access文件去控制了.
在集成phpCAS的时候,系统报出一些错误:
Warning: include_once(DB.php) [function.include-once]: failed to open stream: No such file or directory in/opt/httproot/phpMyAdmin/cas/PGTStorage/pgt-db.phpon line11
Warning: include_once() [function.include]: Failed opening 'DB.php' for inclusion (include_path='.:/usr/local/php-5.2.5/lib/php') in/opt/httproot/phpMyAdmin/cas/PGTStorage/pgt-db.phpon line11
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /opt/httproot/phpMyAdmin/cas/PGTStorage/pgt-db.php:11) in/opt/httproot/phpMyAdmin/cas/client.phpon line489
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /opt/httproot/phpMyAdmin/cas/PGTStorage/pgt-db.php:11) in/opt/httproot/phpMyAdmin/cas/client.phpon line489
Warning: Cannot modify header information - headers already sent by (output started at /opt/httproot/phpMyAdmin/cas/PGTStorage/pgt-db.php:11) in/opt/httproot/phpMyAdmin/cas/client.phpon line880
查了些资料,重新安装了php后问题解决:
1.在编译php的时候,要加上--with-curl, --with-openssl, --with-dom, --with-zlib这些选项
如果系统中还没有安装curl包:
wget http://curl.haxx.se/download/curl-7.18.1.tar.gz
tar -zxvf curl-7.18.1.tar.gz
./configure --prefix=/usr/local/curl
make
sudo make install
编译安装php:
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql/ --with-libxml-dir=/usr/local/libxml-2.6.30/ --with-gd=/usr/local/gd-2.0.35/ --with-curl=/usr/local/curl/ --with-openssl --with-zlib --with-pear=/usr/local/php_pear
make
make test
sudo make install
注意,有可能pear安装不成功,要看你下载的php包,安装完后到php源代码目录下的pear下看看是有有错,否则,要现下载一个pear的安装包:
wget http://pear.php.net/install-pear.phar
再执行make,make install
2.安装PEAR:DB
cd /usr/local/php/bin
pear install DB
3.测试phpCAS
把phpCAS包里的example_simple.php以及source目录里的所有文件拷贝到一个可以从apapche执行php文件的目录中
然后访问http://host/dir/example_simeple.php
结果页面转向到https://sso-cas.univ-rennes1.fr的中心认证地址,说明phpCAS安装成功