在Docker服务器上从PHP 7降级到PHP 5

我目前正在进行testing,所以我们可以将一些旧的WordPress网站迁移到将使用PHP 7的新服务器上。我准备了一个与此设置相匹配的Docker环境。 (我正在testing两个容器上的几个WP站点 – 一个PHP 7和一个Nginx服务器上的MySQL 5.7)。

到目前为止一切正常,但我testing的网站之一是如此过时,其WordPress版本是完全不兼容的PHP 7.(在wp-settings.php文件中有吨新的对象引用[例如: $wp_the_query =& new WP_Query(); ]现在在PHP7中导致致命的错误 。)

我想简要回复到PHP 5,在该网站上更新WordPress并返回使用PHP 7。

我正在使用的设置是php7-dockerized 。 这里有一个关于它的博客文章。

我用docker-compose down 。 然后,我做了一个漫长的dockerfile编辑,以使用php 5版本的东西,而不是PHP 7.然后,我运行docker-compose up我期望find可怕的错误。 相反,它只是保持使用PHP 7,就像什么都没有发生 我该怎么办?

我应该注意到,我打开其他build议如何解决这个问题。 据说使用的WordPress的版本是v 3.1.2。 我想这可能会变老。

这是我的Frankenstein Dockerfile。 这是原始链接。

 FROM nginx # Remove default nginx configs. RUN rm -f /etc/nginx/conf.d/* # Install PHP 7 Repo # This is Stephanie. This is a massive mistake. I am attempting to get this docker file to run PHP 5. # COMMENTING OUT PHP 7 LINES RUN apt-get update && apt-get install -my wget # RUN sh -c "echo 'deb http://packages.dotdeb.org jessie all' >> /etc/apt/sources.list" # RUN sh -c "echo 'deb-src http://packages.dotdeb.org jessie all' >> /etc/apt/sources.list" # RUN wget https://www.dotdeb.org/dotdeb.gpg -O - | apt-key add - # RUN wget https://nginx.org/keys/nginx_signing.key -O - | apt-key add - # Install Packages RUN apt-get update && apt-get install -my \ supervisor \ curl \ # php7.0-curl \ # php7.0-fpm \ # php7.0-mysql \ # php7.0-mcrypt \ # php7.0-sqlite \ # php7.0-xdebug \ # php7.0-mbstring \ php5-curl \ php5-fpm \ php5-mysql \ php5-mcrypt \ php5-sqlite \ php5-xdebug \ php5-mbstring \ php-apc # Ensure that PHP7 FPM is run as root. RUN sed -i "s/user = www-data/user = root/" /etc/php/5/fpm/pool.d/www.conf RUN sed -i "s/group = www-data/group = root/" /etc/php/5/fpm/pool.d/www.conf # Prevent PHP Warning: 'xdebug' already loaded. XDebug loaded with the core RUN sed -i '/.*xdebug.so$/s/^/;/' /etc/php/5/mods-available/xdebug.ini # Add configuration files COPY conf/nginx.conf /etc/nginx/ COPY conf/supervisord.conf /etc/supervisor/conf.d/ COPY conf/php.ini /etc/php/5/fpm/conf.d/40-custom.ini COPY conf/my.cnf /etc/mysql/my.cnf 

谢谢!