我的html网页调用php脚本将文件从本地计算机上传到服务器,如下所示。
<form enctype="multipart/form-data" action="upload.php" method="POST">
<p><b><h3> <font color="#003366"> (1) Upload your reading text file. </font>
</h3> </b> </p>
<INPUT type="file" name="uploaded" size="50" >
<br/>
<input type="submit" name="files" value="upload">
</form>
为了处理上传的文件,我的 php 脚本调用 shell 脚本
$output=system('/bin/sh connector_0.sh');
我的shell脚本是由一系列python/perl脚本组成的。
#!/bin/sh
python main_senselearner_final_0.py
senseLearner.pl -i Uploaded_Files/slinput_0.txt -o Uploaded_Files/presloutput_0
.txt -model modelNNCollocations -model modelJJCollocations -model modelVBColloc
ations -pos
python smutngslout_0.py
python genhtml_0.py
现在,问题如下:shell脚本中的所有python脚本通过php都可以正常工作。但 perl 脚本不起作用。
当我在服务器中自己运行 shell 脚本时,shell 中的所有四个脚本都运行良好。但是,当我从 php 运行 shell 脚本时,只有 perl 脚本不起作用。
您能给我一些解决这个问题的建议吗?
非常感谢!!!
这很可能是权限问题。尝试将 perl 脚本读取的文件设置为 a+rw 并查看是否有效。如果是这样,那么您需要找出运行 php 的用户(可能是 apache 用户)并确保他们可以读/写相关文件。
还要确保 Perl 脚本可由 php 用户 (apache) 执行。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)