通过localhost(Docker)上的http在Yii2 Framework中执行perl脚本

时间:2019-05-27 20:23:40

标签: php perl docker yii2 yii2-advanced-app

我能够在本地主机上使用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

0 个答案:

没有答案