我正在开发一个Drupal 7项目,要求是将HTML文件上传到服务器并将HTML文件作为参数传递给Perl脚本并捕获Perl程序给出的返回码。奇怪的问题是,如果我将HTML文件FTP到服务器,它工作正常。但如果我上传使用Drupal文件上传,它将保存在/ tmp中,但无法使用Perl运行它。权限是相同的,但Perl仍然无法访问该文件,是否有人遇到过这个问题?
Sirish
答案 0 :(得分:0)
您需要考虑通过FTP上传的用户,Perl用户执行文件的时间,以及用户Drupal运行的用户。
您提到的权限是相同的,但所有权也是一样的吗?
通常drupal会将文件上传为apache用户(apache,www-data,或者设置为运行的任何用户apache)。如果Perl作为其他用户运行,则需要设置上载文件的权限,以便Perl用户可以执行apache拥有的文件。
如果是这种情况并且Perl脚本需要执行该文件,那么您可以在上传后使用PHP chmod函数将文件设置为可执行文件(可能是755)。