Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SF4和x2B;docker:Proxymanager错误:语法错误,意外'';,期望函数(T_函数)或常数(T_常数)_Docker_Symfony_Symfony4 - Fatal编程技术网

SF4和x2B;docker:Proxymanager错误:语法错误,意外'';,期望函数(T_函数)或常数(T_常数)

SF4和x2B;docker:Proxymanager错误:语法错误,意外'';,期望函数(T_函数)或常数(T_常数),docker,symfony,symfony4,Docker,Symfony,Symfony4,我在我的分支上遇到了一个奇怪的错误。 我用的是docker和symfony 4 昨天,我首先犯了这个错误(不知从哪里冒出来): 然后,在我和我的同事试图修复前一个问题后,出现了下面的第二个错误(我记得我们做了一个composer更新,如果我没有错的话,但我不太确定是否记住了所有内容…) 在ProxyManager的configuration.php中: class Configuration { public const DEFAULT_PROXY_NAMESPACE = 'Prox

我在我的分支上遇到了一个奇怪的错误。 我用的是docker和symfony 4

昨天,我首先犯了这个错误(不知从哪里冒出来):

然后,在我和我的同事试图修复前一个问题后,出现了下面的第二个错误(我记得我们做了一个composer更新,如果我没有错的话,但我不太确定是否记住了所有内容…)

在ProxyManager的configuration.php中:

class Configuration
{
    public const DEFAULT_PROXY_NAMESPACE = 'ProxyManagerGeneratedProxy';

    protected ?string $proxiesTargetDir;
    protected string $proxiesNamespace = self::DEFAULT_PROXY_NAMESPACE;
    protected ?GeneratorStrategyInterface $generatorStrategy;
    protected ?AutoloaderInterface $proxyAutoloader;
    protected ?ClassNameInflectorInterface $classNameInflector;
    protected ?SignatureGeneratorInterface $signatureGenerator;
    protected ?SignatureCheckerInterface $signatureChecker;
    protected ?ClassSignatureGeneratorInterface $classSignatureGenerator;

    public function setProxyAutoloader(AutoloaderInterface $proxyAutoloader) : void
    {
        $this->proxyAutoloader = $proxyAutoloader;
    }

    public function getProxyAutoloader() : AutoloaderInterface
    {
        return $this->proxyAutoloader
            ?? $this->proxyAutoloader = new Autoloader(
                new FileLocator($this->getProxiesTargetDir()),
                $this->getClassNameInflector()
            );
    }
DockerFile: 在DockerFile中,我们还尝试将php容器从7.3更新为7.4

FROM php:fpm-alpine

但是如果我使用php-v,它仍然在PHP7.3上。 也许这就是为什么我们上面有错误

DockerFile现在:

FROM devilbox/php-fpm-7-4:latest

RUN apk add --update --no-cache \
    coreutils \
    php7-fpm \
    php7-apcu \
    php7-ctype \
    php7-curl \
    php7-dom \
    php7-gd \
    php7-iconv \
    php7-imagick \
    php7-json \
    php7-intl \
    php7-mcrypt \
    php7-fileinfo\
    php7-mbstring \
    php7-opcache \
    php7-openssl \
    php7-pdo \
    php7-pdo_mysql \
    php7-mysqli \
    php7-xml \
    php7-zlib \
    php7-phar \
    php7-tokenizer \
    php7-session \
    php7-simplexml \
    php7-xdebug \
    php7-zip \
    php7-xmlwriter \
    make \
    curl
RUN docker-php-ext-install pdo pdo_mysql # solve "could not find driver" error.
RUN echo "$(curl -sS https://composer.github.io/installer.sig) -" > composer-setup.php.sig \
        && curl -sS https://getcomposer.org/installer | tee composer-setup.php | sha384sum -c composer-setup.php.sig \
        && php composer-setup.php && rm composer-setup.php* \
        && chmod +x composer.phar && mv composer.phar /usr/bin/composer

CMD ["php-fpm"]

EXPOSE 9000
如果我在另一个分支上签出,我也会遇到同样的问题,总是语法错误。 我对SF和docker非常陌生(我没有在项目中安装自己)
如果有人有任何想法,那就太好了。非常感谢您的时间和帮助。

您真的重新构建了容器吗?问题确实是,您仍然在使用7.3,并且直到7.4才支持类型化属性,因此,如果您想继续使用此版本的symfony组件,请确保重新构建您的容器。感谢您的回复!是的,我们需要重建,你说得对。我的同事将DockerFile
中的图像从php:7.4.2-fpm-alpine
更改为以下命令:
docker compose build——无缓存——pull
一切正常,我的项目返回:D
FROM devilbox/php-fpm-7-4:latest

RUN apk add --update --no-cache \
    coreutils \
    php7-fpm \
    php7-apcu \
    php7-ctype \
    php7-curl \
    php7-dom \
    php7-gd \
    php7-iconv \
    php7-imagick \
    php7-json \
    php7-intl \
    php7-mcrypt \
    php7-fileinfo\
    php7-mbstring \
    php7-opcache \
    php7-openssl \
    php7-pdo \
    php7-pdo_mysql \
    php7-mysqli \
    php7-xml \
    php7-zlib \
    php7-phar \
    php7-tokenizer \
    php7-session \
    php7-simplexml \
    php7-xdebug \
    php7-zip \
    php7-xmlwriter \
    make \
    curl
RUN docker-php-ext-install pdo pdo_mysql # solve "could not find driver" error.
RUN echo "$(curl -sS https://composer.github.io/installer.sig) -" > composer-setup.php.sig \
        && curl -sS https://getcomposer.org/installer | tee composer-setup.php | sha384sum -c composer-setup.php.sig \
        && php composer-setup.php && rm composer-setup.php* \
        && chmod +x composer.phar && mv composer.phar /usr/bin/composer

CMD ["php-fpm"]

EXPOSE 9000