ID: 39817 Updated by: [EMAIL PROTECTED] Reported By: php_dot_net at edelhost dot de -Status: Open +Status: Assigned Bug Type: cURL related Operating System: Linux 2.6.18.k7 PHP Version: 5.2.0 -Assigned To: +Assigned To: iliaa
Previous Comments: ------------------------------------------------------------------------ [2006-12-13 14:30:41] php_dot_net at edelhost dot de Description: ------------ Summary: curl_setopt/curl_setopt_array returns true for CURLOPT_FOLLOWLOCATION => true in safe_mode and/or with open_basedir Description: If safe_mode was activated and/or an open_basedir restriction was set, the cURL option CURLOPT_FOLLOWLOCATION can't be switched to true. You will be informed about this with a warning from PHP. So far so well. But docu says, if an option can not be set by curl_setopt() it will return false, alternatively curl_setopt_array() will immediately return false, if one of the options can not be set. Reproduce code: --------------- <?php $ch_opts = array(CURLOPT_FOLLOWLOCATION => true, CURLOPT_MAXREDIRS => 5, CURLOPT_RETURNTRANSFER => true, CURLOPT_URL=>'http://tinyurl.com/yhor2h'#redir 2 http://de.php.net/news.rss ); $ch = curl_init(); var_dump(curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true)); var_dump($opts_set = curl_setopt_array($ch, $ch_opts)); if (!$opts_set) { curl_close($ch); die('failed to set options'); } if (!($response = curl_exec($ch))) { $errmsg = sprintf("curl_exec error: code: %d; message: %s", curl_errno($ch), curl_error($ch)); curl_close($ch); die($errmsg); } curl_close($ch); echo $response; ?> Expected result: ---------------- bool(false) bool(false) failed to set options Actual result: -------------- bool(true) bool(true) curl_exec error: code: 0; message: ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=39817&edit=1