Why doesn't php curl save a cookie in my cookie?

I am trying to save a cookie in curl cookiejar. I simplified my code but didn't work.

<?php $cookie_file = './cookies.txt'; if (! file_exists($cookie_file) || ! is_writable($cookie_file)){ echo 'Cookie file missing or not writable.'; exit; }//cookie_file is writable, so this is not the issue $ch = curl_init (html_entity_decode("http://localhost/kiala_test/setcookie.php")); curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie_file); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, 1); //curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); $output = curl_exec ($ch); echo $output; ?> 

setcookie.php

 <?php $value = 'something from somewhere'; setcookie("TestCookie", $value); ?> 

received title

HTTP / 1.1 200 OK Date: Thu, 10 Oct 2013 12:10:37 GMT Server: Apache / 2.4.4 (Win64) PHP / 5.4.12 X-Powered-By: PHP / 5.4.12 Set-Cookie: TestCookie = something + from + somewhere Content-Length: 0 Content-Type: text / html

so testcookie is in the header, but my cookie remains empty. What am I doing wrong? what can i do to make this example work? thanks!

+6
source share
1 answer

When setting CURLOPT_COOKIEJAR you need to use an absolute path. You can do this easily using:

 curl_setopt ($ch, CURLOPT_COOKIEJAR, realpath($cookie_file) ); 

Link: cannot use cookies in PHP cURL

+14
source

Source: https://habr.com/ru/post/955665/


All Articles