在curl\u close()之后,我无法访问cookie文件,尽管它已成功创建(不是文件路径问题).因此,我在curl\u close()之后添加了15秒的睡眠时间,我注意到cookie文件仅在15秒之后创建,即在整个php文件结束之后.

        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_HEADER, 1);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
        $response = curl_exec($ch);
        curl_close($ch);

        //I can't find the cookie file here
    
        sleep(15);

推荐答案

根据curl_close的手动输入:

此功能无效.在PHP 8.0.0之前,此函数用于关闭资源.

这一原因在this article中解释:

从PHP 8和forward中,curl\u init函数返回\CurlHandle类的实例

因为处理程序现在是对象,所以资源将在垃圾收集期间被销毁,除非处理程序通过unset()调用显式关闭.

要释放cookie文件资源,需要unset curl句柄:

unset($ch);

Php相关问答推荐

为什么注册SIGHUP的处理程序函数会阻止在PHP CLI中等待输入时点击X关闭Xterm窗口?""

仅在WooCommerce管理订单视图上显示订单项自定义元数据

MySQLi是否在事务错误时删除保存点(并且仅删除保存点)?

莫德克斯.当我try 使用pThumb为手机压缩图像时,没有任何react

对表示大小的值后缀进行自定义排序(XXS、XS、S、M、L、XL、XXL)

隐藏WooCommerce管理子菜单;主页;来自store 经理

在 WooCommerce 中何时何地执行 woocommerce_order_status_completed_notification 挂钩?

如何在 Laravel 中app文件夹之外的文件夹内创建文件路径?

Filament PHP v3:在禁用的表单字段上,ID 不会写入数据库

在 groupBy laravel 5.7 中 Select 多列

使用现有的htaccess的PHP路由脚本

Composer自动加载器重复了子类的类文件路径

使用其ID查询和捕获与订单相关的其他详细信息的shopware 6方法

如何在WooCommerce中为访客购买者分配自定义客户代码

如何在PHP中对多个脚本调用进行排队?

如果有很多重定向,PHP curl 的行为不像命令行 curl

在帖子内容中使用短代码触发 Woocommerce 挂钩

为什么 8.0 之前的 PHP 版本拒绝命名空间Random\Namespace作为无效语法?

Symfony 6 中的入口点 (public/index.php) - 它是如何工作的?

按数字然后按字符串对关联 PHP 数组进行排序