理解为什么exec($ my_command)挂起

时间:2010-05-12 16:06:56

标签: php exec

我有一个永远不会结束的exec()调用,我的Apache / PHP进程被阻塞直到超时。 它是像这样的PostgreSQL数据库负载

"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

它在命令行中运行良好,但只是在通过php exec()函数调用时阻塞。 我只是想了解为什么我的exec()调用永远不会结束,我想psql要求输入密码,但是如何在调用结束前打印输出?

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

1 个答案:

答案 0 :(得分:2)

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