Php popen只返回bool(true)而不是指针

时间:2013-02-26 09:25:07

标签: php popen

我想知道我的简单popen()调用只返回布尔值TRUE而不是资源。

因此,以下fputs()会抛出警告,例如“警告:fputs()期望参数1为资源,布尔给定[...]”

如Php手册中所述,我期望资源/指针或FALSE作为回报。

以下是我的例子:

$path = 'C:\path\to\oracle\product\11.2.0\server\bin\sqlplus.exe';
$ph = popen($path,'w') || die ("Program not found");
fputs($ph, "username/password"\n");

有人可以帮忙吗?!

2 个答案:

答案 0 :(得分:1)

更改:

$ph = popen($path,'w') || die ("Program not found");$ph = popen($path,'w');

删除||之后的所有内容并尝试。

此处还有额外的引用:fputs($ph, "username/password"\n");删除一个fputs($ph, "username/password\n");

答案 1 :(得分:0)

仍然可以使用||语法,只需在上半部分添加括号。

($ph = popen($path,'w')) || die ("Program not found");