-2
if (isset($_GET['debug'])) {
if(boolval($_GET['debug']) ? true : false)
{
echo "Using Distribution Certificate";
stream_context_set_option($ctx, 'ssl', 'local_cert','cert.pem');
$fp = stream_socket_client('ssl://gateway.push.apple.com:2195', $err, $errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);
} else {
echo "Using Development Certificate";
stream_context_set_option($ctx, 'ssl', 'local_cert','certdevelopment.pem');
$fp = stream_socket_client('ssl://gateway.sandbox.push.apple.com:2195', $err, $errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);
}
}else{
// Fallback behaviour goes here
echo "Fallback Call To Use Distribution Certificate";
stream_context_set_option($ctx, 'ssl', 'local_cert','cert.pem');
$fp = stream_socket_client('ssl://gateway.push.apple.com:2195', $err, $errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);
}
當我的網址是https://localhost/index.php?debug=true我怎樣才能解決GET []這個PHP問題從我的網址
我想使用的發佈證書。如果它是假的,則使用開發證書。
如果有其他東西,那麼我們使用分配證書。
不幸的是,當我的PHP腳本執行時,它總是使用「分發證書」。即使我把它設置爲false。我認爲「boolval」方法並非一直在運行。
'boolval'不會做你認爲它做的事。它*將傳遞給它的值作爲布爾值轉換。在PHP中,字符串「true」和「false」都轉換爲布爾值true。請參閱:http://php.net/manual/en/language.types.boolean.php#language.types.boolean.casting –
因爲字符串「true」將始終爲真。這是一個字符串,因此將被評估爲true(空字符串爲false)。 – Andrew
P.S.你可以做'if(boolval($ _ GET ['debug']))',這裏沒有理由使用'?:'。 –