小编sus*_*ins的帖子

卷曲不通过phpsessid

尽我所能,我无法让curl传递PHPSESSIDcookie.我有类似于其他几个人描述的设置,但我无法使任何提议的解决方案有效.

我有一个发送get请求的页面pageA.php. pageA.php需要一些来自pageB.php另一台服务器的信息,所以我使用curl. pageB维护我需要进入和从我的页面进入的会话状态.

我能够将其他cookie传递pageApageB,而不是PHPSESSIDcookie.

以下作品(cookie到达pageB):
$options[CURLOPT_COOKIE] = "myPHPSESSID=" . $sessionId;

以下不是:

$options[CURLOPT_COOKIE] =  "PHPSESSID=" . $sessionId;
Run Code Online (Sandbox Code Playgroud)

(我构建一个$ options数组,然后将其传递给curl_set_opt_array)

事实上,后者会导致我无法辨别的某种错误,因为我的呼唤curl_exec永远不会返回(并且pageB永远不会到达).

我已尝试设置标头而不是使用CURLOPT_COOKIE,但也没有成功:

$options[CURLOPT_HTTPHEADER][] = "Cookie: myPHPSESSID=" . $sessionId;
Run Code Online (Sandbox Code Playgroud)

上面的工作很好但是

$options[CURLOPT_HTTPHEADER][] = "Cookie: PHPSESSID=" . $sessionId;
Run Code Online (Sandbox Code Playgroud)

才不是.

PHP显然不希望我手动设置PHPSESSID.我不确定它是否相关,但是在任何时候我都没有打电话给我start_session()(尽管我试过这样做并且得到了相同的结果).

我意识到我可以(可能)只是将会话ID作为一个不同名称的cookie传递,并具有pageB调用set_session_id()或类似的东西.但我真的想知道为什么我正在做的事情不起作用,因为我宁愿修复我做错的事情而不是创建一个解决方法.如果有帮助的话,我可以提供各种标题的转储,但我觉得这个问题已经足够长了.

谢谢...

php curl

7
推荐指数
1
解决办法
8928
查看次数

索引null变量时不会引发php undefined index notice

我很想知道PHP中是否存在以下行为.并且,如果它是预期的,通过在空变量中创建一个索引来初始化一个数组被认为是可接受的(如在第一个代码片段中所做的那样)?

error_reporting(E_ALL);
$arr = null;

echo ($arr["blah"]===null) ? "null" : $arr["blah"];

$arr["blah"] = "somevalue";
echo "<br>";
echo ($arr["blah"]===null) ? "null" : $arr["blah"];
var_dump ($arr);
Run Code Online (Sandbox Code Playgroud)

这输出

null
somevalue

array (size=1)
   'blah' => string 'somevalue' (length=9)
Run Code Online (Sandbox Code Playgroud)

但是,如果首先初始化数组(参见下面的代码),我会得到完全相同的输出,但是当我第一次尝试时会给出"未定义的索引"通知 $arr["blah"]

error_reporting(E_ALL);
$arr = array();

echo ($arr["blah"]===null) ? "null" : $arr["blah"];

$arr["blah"] = "somevalue";
echo "<br>";
echo ($arr["blah"]===null) ? "null" : $arr["blah"];
var_dump ($arr);
Run Code Online (Sandbox Code Playgroud)

php arrays undefined

7
推荐指数
1
解决办法
2491
查看次数

如何在 Postgres/plpgsql 中的视图定义中使用变量

我将 plpgsql 与 Postgres 10.6 一起使用。我有一个函数声明变量并为其赋值。该函数还定义了一个视图,我想在定义中使用该变量。

  create view myview as
    select
      some_columns
    from
      mytable
    where      
      id = _id     /*_id is declared earlier in function */
  ;
Run Code Online (Sandbox Code Playgroud)

在这种情况下,可以定义该函数,但运行时会出现错误:UndefinedColumn: column "_id" does not exist

在 Postgres 中这样的事情可能吗?视图可以包含变量作为其定义的一部分吗?

我确实在这里看到,在 BigQuery (我从未使用过)中,我所要求的是不可能的,这让我认为这在 plpgsql 中也可能是不可能的。

这没什么大不了的,但我很好奇。一种解决方法 - 可能也是推荐的解决方案 - 是当我从视图中选择时传递 _id (例如select * from myview where id = 3)。或者,如果我真的想让 select 调用保持简单(我这样做,因为我的实际实现更复杂并且有多个变量),我可以将视图定义为字符串并execute在函数中使用(这是所有使用的内部内容)在构建和创建数据库时,而不是在担心动态 sql 固有的各种风险的情况下)。

sql postgresql view plpgsql

1
推荐指数
1
解决办法
1526
查看次数

恢复从未提交的已删除目录

我不小心将一个本地目录添加到我当地的Git仓库.

git add dirName
Run Code Online (Sandbox Code Playgroud)

它在该目录中添加了20个左右的文件.我不希望他们添加.以前从未添加过它们,我没有提交它们.相反,我删除它们:

git rm -rf dirName
Run Code Online (Sandbox Code Playgroud)

这成功地从repo中删除了它们,但令我沮丧的是,该目录似乎也已从磁盘中删除.它们不在我的回收站中.

有没有办法让这些文件恢复?当然,我有备份,但自上次备份以来,我对文件做了很多更改.

git restore

0
推荐指数
1
解决办法
904
查看次数

标签 统计

php ×2

arrays ×1

curl ×1

git ×1

plpgsql ×1

postgresql ×1

restore ×1

sql ×1

undefined ×1

view ×1