2
%use IPC::Run3;
%my $a;
%run3 ['echo','hello'],\undef,\$a;
<% $a %>
위 mason
코드는 HTML::Mason::Admin
에서 설명한대로 독립 실행 형 스크립트에서 Mason
을 사용할 때 매우 잘 작동합니다. 죄송합니다. perl_mode
으로 실행하면 $a
은 빈 문자열입니다. 아래는 내IPC :: Run3이 Apache 환경에서 표준 출력을 캡처 할 수없는 이유는 무엇입니까?
Alias /mason_book /home/charlse/f/books/mason_book
<Location /mason_book>
SetHandler perl-script
AddHandler perl-script .mas
PerlHandler HTML::Mason::ApacheHandler
PerlAddVar MasonCompRoot "mason_book => /home/charles/f/books/mason_book"
</Location>
<Directory "/home/chunywan/f/books/mason_book">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
httpd.conf
BTW
%use IPC::Run qw(run timeout);
%my @cmd=qw(echo hello world);
%my ($in,$out,$err);
%run(\@cmd, \$in, \$out, \$err) or die "cat: $?";
<pre>
out <% $out %>
</pre>
난 그냥 독립형 모드와 mod_perl
모드 모두에서 아주 잘 작동 IPC::Run
을 시도합니다. IPC::Run3
대신 IPC::Run
을 사용하기 위해 모든 소스 코드를 업데이트해야하는 것으로 보입니다.
을 반환? – ikegami
@ikegami,'PerlSetEnv IPCRUN3DEBUG 1'을 활성화 시켰습니다. 오류 로그는 run3이 명령을 올바르게 실행하고'$? '가 0임을 보여줍니다. – wcy