我能够在本地主机上使用Docker运行我的Yii2项目。现在,我需要通过http请求执行perl脚本。 Perl脚本位于根文件夹中。这是一段代码,说明如何尝试执行perl脚本。
(?J)
\s*
(?|`(?P<col>(?:[^`\\]|\\.|``)*)`|(?P<col>\S+))
(?:\s+(?P<dir>asc|desc))?
\s*
\z
然后,我尝试通过http从本地地址执行此脚本:
public function actionExecPerl()
{
$path = './script.pl';
$exec = exec("/usr/bin/perl $path", $output);
if(is_executable($path)) {
return 'ok';
}
else {
return 'Unable to call Perl Script';
}
}
结果,我总是得到:无法调用Perl脚本
我尝试了所有可能的路径(完整路径),但没有得到结果。
以防万一,我共享我的Docker配置文件
DockerFile
http://127.0.0.1:22080/sync/exec-perl
docker-compose.yml
FROM yiisoftware/yii2-php:7.2-apache
# Change document root for Apache
RUN sed -i -e 's|/app/web|/app/api/web|g' /etc/apache2/sites-available/000-default.conf