最近在做幾件事,第一件是把 Ubuntu 14.04上同事開發的系統移植到CentOS 7上。
一開始在SAML(SSO)卡了很久。實在沒有辦法去認真研究了一下它的架構,最後發現在
/var/simplesamlphp/metadata
裡面的
saml20-sp-remote.php
要新增以下內容
$metadata['http://10.100.32.31/sso/module.php/saml/sp/metadata.php/default-sp'] = array (
'AssertionConsumerService' => 'http://10.100.32.31/sso/module.php/saml/sp/saml2-acs.php/default-sp',
'SingleLogoutService' => 'http://10.100.32.31/sso/module.php/saml/sp/saml2-logout.php/default-sp',
);
後來有一天早上我福至心靈,把副程式的log都開起來(本來只有開主程式,沒有想到副程式裡的log都被關掉)才發現是empty這個函數在不同的PHP版本有不同的處理方式。
Prior to PHP 5.5, empty() only supports variables; anything else will result in a parse error. In other words, the following will not work: empty(trim($name)). Instead, use trim($name) == false.
我的舊主機是PHP 5.5.9,新的主機是5.4。所以才會遇到這個問題。
最後把PHP升版後終於解決了。
沒有留言:
張貼留言