0
我的PHP脚本试图将.sql文件导入postgres DB(Cent OS)。从php脚本执行proc_open时连接到pgsql时出错
从它使用的PHP脚本连接个DB:
$sCMD = 'psql -p '.$aDSNInfo['port'].' -d '.$aDSNInfo['database'];
$aDescriptors = array(
0 => array('pipe', 'r'),
1 => STDOUT,
2 => STDERR
);
$ahPipes = null;
$hProcess = @proc_open($sCMD, $aDescriptors, $ahPipes);
if (!is_resource($hProcess)) fail('unable to start pgsql');
它为我的错误: “无法启动的pgsql”。
,当我从proc_open移除@符号,它让我看到错误消息....
" proc_open() [<a href='function.proc-open'>function.proc-open</a>]: Descriptor item must be either an array or a File-Handle in <b>/home/nominati/public_html/Nominatim/utils/setup.php"
虽然$ aDescriptors已经是一个数组。 是否有与用户权限相关的问题?
在此先感谢。
是否定义了STDERR和STDOUT? – dezso