PHP exec()在命令行中工作,但在通过浏览器执行时不工作

I have the following line in a php file called batchrender.php:

exec('/Applications/Adobe\ After\ Effects\ CC\ 2014/aerender -project /Users/abc/Sites/AETEST1.aep -comp "Komp1" -output /Users/abc/Sites/xyz.mov');

When I call this file via web browser it should render a movie with the aerender unix command.

The output is

PROGRESS: ...After Effects successfully launched...

but that's all and it stops executing without any error. No movie is rendered. (No counting frames are displayed)

When I execute the exact same php file from the command line interface (Terminal) like:

 $ php batchrender.php

All works perfect and it starts to render the movie.

in the httpd file the user for apache2 is defined as "abc" and group is "staff" the terminal is also started with user "abc"

展开翻译

译文

我在名为batchrender.php的php文件中有以下行:</ p>

  exec('/ Applications / Adob​​e \ After \ Effects \ CC \ 2014 / aerender -project /Users/abc/Sites/AETEST1.aep -comp“Komp1”-output /Users/abc/Sites/xyz.mov  '); 
</ code> </ pre>

当我通过网络浏览器调用此文件时,它应该使用aerender unix命令渲染一部电影。</ p>

输出</ p>


PROGRESS:... After Effects成功启动...... </ p>
</ blockquote>

但是这是 all,它会停止执行而不会出现任何错误。 没有电影呈现。 (不显示计数帧)</ p>

当我从命令行界面(终端)执行完全相同的php文件时,如:</ p>

   $ php batchrender.php 
</ code> </ pre>

一切正常,它开始渲染电影。</ p>

httpd文件中的用户 for apache2定义为“abc”,group为“staff”,终端也以用户“abc”启动</ p>
</ div>

douxuzui4590
douxuzui4590 也许有人还有另一个想法,我怎么能从远处开始这个投降。它基本上都是关于从远程位置启动aerenderunix命令。(我在Web应用程序(php/mysql)中输入一些数据,然后从那里我想运行渲染引擎,它位于另一个位置,而不是同一个网络,所以它应该可以通过互联网访问)
大约 5 年之前 回复
dongze5043
dongze5043 有浏览器(带apache)和cli(终端-没有apache)的php单独的php.ini文件可能你有不同的max_execution_time或memory_limit值-通常php.iniforcli有更多的内存,它可以运行更长的时间一段的时间。
大约 5 年之前 回复
duanchuiwen6694
duanchuiwen6694 可能是一个内存问题,而apache杀死了这个进程。请记住,通过webapache启动一个包含PHP的进程。通过命令行没有apache进程。
大约 5 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问