2010-05-12 88 views
2

我有一个exec()调用,永不结束,我的Apache/PHP进程被阻塞,直到超时。 这就像

"C:\Program Files\PostgreSQL\8.3\bin"\psql --host 127.0.0.1 --dbname unitTests --file C:\ZendStd\www\voo4\trunk\resources\sql\base_test_projectx.pg.sql --username postgres 2>&1 

它运行在命令行精细的PostgreSQL数据库负荷,但只是块时通过PHP exec()函数调用。 我只想了解为什么我的exec()调用永远不会结束,我想psql会要求输入密码,但是如何在通话结束之前打印输出?

我在Windows XP上使用PHP 5.2.12,使用PGSql 8.3。

+0

这听起来像是环境问题。你能分辨它是否在运行吗?它是否真的开始,永远不会结束,或者它可能永远不会开始?你可以看看数据库,看看你是否建立了连接? – MJB 2010-05-12 16:31:04

+0

没有连接,但该命令开始执行。用另一个命令我有输出,我只想分析这个命令的问题。 – 2010-05-12 16:41:38

回答

2

您可以使用直接输出所有内容的passthru()。或者你使用一些过程控制功能。