我想知道我的简单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");
有人可以帮忙吗?!
答案 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");