CURLOPT_FOLLOWLOCATION cannot be activated when in safe_mode or an open_basedir is set

If you have a cURL script that tries to use CURLOPT_FOLLOWLOCATION you might get the following error:

Warning: curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot be activated when in safe_mode or an open_basedir is set in /home/username/public_html/path/to/script.php on line xxx


open_basedir is enabled on all shared servers as it is essential to proper server security. The vast majority of the time a programmer will set this option to true in their script even when it's not needed.

Your file might have an entry similar to this

function connect($data,$api_url)
	{
		$data = http_build_query($data);
		$ch = curl_init();
		curl_setopt($ch,CURLOPT_URL, $api_url);
		curl_setopt($ch,CURLOPT_POST, true);
		curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
		curl_setopt($ch,CURLOPT_FOLLOWLOCATION, true);
		curl_setopt($ch,CURLOPT_POSTFIELDS, $data);
		$result = curl_exec($ch);
		$info = curl_getinfo($ch);
		curl_close($ch);
		$conn = array('result'=>$result,'info'=>$info);
		return $conn;
	}


To fix the error all you need to do is open that script in the cPanel file manager using the script editor. Find the line number mentioned in the error message. It should have "FOLLOWLOCATION" in it. Delete it or comment it out and it should get your script working again. This would be a working example of the above script

function connect($data,$api_url)
	{
		$data = http_build_query($data);
		$ch = curl_init();
		curl_setopt($ch,CURLOPT_URL, $api_url);
		curl_setopt($ch,CURLOPT_POST, true);
		curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
		curl_setopt($ch,CURLOPT_POSTFIELDS, $data);
		$result = curl_exec($ch);
		$info = curl_getinfo($ch);
		curl_close($ch);
		$conn = array('result'=>$result,'info'=>$info);
		return $conn;
	}
  • 12 Users Found This Useful
Was this answer helpful?

Related Articles

Can I change my domain name?

Yes you can, if you like to change your domain name from domain1.com to domain2.com please open...

How do I check my IP address?

When submitting a support ticket about having troubles connecting to your website or email,...

PHP Limits for Shared Hosting & Resellers

PHP has been configured to use the following settings on our shared and reseller servers: safe...

How do I install IonCube?

All of our servers have IonCube loaders installed already, you don't need to do anything.

SMTP is not working in my script

You will need to change the SMTP server setting from "mail.yourdomain.com" to "localhost".