首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在docker-组合环境中启用Wordpress调试模式

在docker-组合环境中启用Wordpress调试模式
EN

Stack Overflow用户
提问于 2022-07-25 12:38:49
回答 1查看 772关注 0票数 0

我有问题,了解如何启用wordpress调试模式通过坞-撰写。wp-config.php调试部分的图像

代码语言:javascript
运行
复制
define( 'WP_DEBUG', !!getenv_docker('WORDPRESS_DEBUG', '') );

这是wp-config.php文件的一部分,我应该能够在其中启用它。该文件是只读的,它似乎是为了通过docker-come.yaml文件启用此功能而设计的,但我不知道如何实现。我尝试过将WORDPRESS_DEBUG: 'true'添加到wordpress服务的环境部分,但是它会引发错误,包含true/fals数据类型和'true‘,因为字符串似乎不起作用。我能想出的唯一解决方案是以超级用户的身份编辑文件。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-26 22:08:23

好吧,大约一年前,这件事把我绊倒了。请参阅我最初的问题问题,它导致wp_debug模式被定义了两次,导致管理中出现了一个恒定的空白php错误.

php-通过停靠器拉wordpress更新wordpress 5.6.2至5.7后管理中的错误主体类

wp_debugdocker wordpress映像一起使用时,有几条规则。

  1. wp-config.php/WORDPRESS_CONFIG_EXTRA中不能同时使用WORDPRESS_DEBUG: 1,在docker-compose.yml中不能同时使用WORDPRESS_DEBUG: 1。同时使用它们总是会在管理仪表板上给出一个空白的php错误。
  2. 当使用docker-compose.yml部署带有停靠器的wordpress以配置您的环境时,您不应该真的必须使用chmod 777手动更改项目的权限以使调试模式工作。
  3. 您也不应该编辑您的核心wordpress容器文件,所有环境信任应该通过您的docker-compose.yml文件来完成,这样您就可以安全地旋转和更新您的docker容器图像。

现在我们知道了这些基本规则,这就是如何以正确的方式在WP_DEBUG中启用docker-compose.yml。看看环境块。

请注意,如果您试图旋转我的示例docker-compose.yml,在运行docker-compose up -d之前,您还必须在同一个目录中显示uploads.inierror-logging.ini文件。

请参阅公共要旨,其中有您需要在对接之前实现的.ini文件代码.

https://gist.github.com/joshmoto/ab7c09ca45291f7e6f9a14cf070fa70c

您的空项目目录应该是这样的..。

这是完整的docker-compose.yml配置..。

代码语言:javascript
运行
复制
version: '3.7'

networks:
  wordpress:
    ipam:
      config:
        - subnet: 172.25.0.0/16

services:

  # here is our mysql database
  db:
    image: mysql:5.7
    volumes:
      - ./db:/var/lib/mysql:delegated
    ports:
      - "3306:3306"
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: somewordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress
    networks:
      - wordpress

  # here is our wordpress server
  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    volumes:
      # our persistent local data re routing
      - ./themes/yourtheme:/var/www/html/wp-content/themes/yourtheme:delegated
      - ./plugins:/var/www/html/wp-content/plugins
      - ./mu-plugins:/var/www/html/wp-content/mu-plugins
      - ./uploads:/var/www/html/wp-content/uploads
      - ./logs:/var/www/html/wp-content/logs
      - ./uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
      - ./error-logging.ini:/usr/local/etc/php/conf.d/error-logging.ini
    ports:
      - "80:80"
    restart: always
    networks:
      - wordpress
    environment:

      # debug mode
      WORDPRESS_DEBUG: 1

      # docker wp config settings
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
      WORDPRESS_TABLE_PREFIX: wp_
      WORDPRESS_AUTH_KEY: 5f6ede1b94d25a2294e29eeba929a8c80a5ac0fb
      WORDPRESS_SECURE_KEY: 5f6ede1b94d25a2294e29eeba929a8c80a5ac0fb
      WORDPRESS_LOGGED_IN_KEY: 5f6ede1b94d25a2294e29eeba929a8c80a5ac0fb
      WORDPRESS_NONCE_KEY: 5f6ede1b94d25a2294e29eeba929a8c80a5ac0fb
      WORDPRESS_SECURE_AUTH_SALT: 5f6ede1b94d25a2294e29eeba929a8c80a5ac0fb
      WORDPRESS_LOGGED_IN_SALT: 5f6ede1b94d25a2294e29eeba929a8c80a5ac0fb
      WORDPRESS_NONCE_SALT: 5f6ede1b94d25a2294e29eeba929a8c80a5ac0fb

      # our local dev environment
      WORDPRESS_CONFIG_EXTRA: |

        /* development parameters */
        define('WP_CACHE', false);
        define('ENVIRONMENT', 'local');

        /* do not re-define WP_DEBUG here or it will throw a blank error in the admin */
        /* you can remove this entirely, this is just to show you what not to do */
        // define('WP_DEBUG', true);

        if (!defined('WP_HOME')) {
          /* force our home url */
          define('WP_HOME', 'http://localhost');
          define('WP_SITEURL', WP_HOME);
        }

现在您有了这个docker-compose.yml集,以及.ini文件,您现在可以在项目目录中安全地运行这个命令来构建您的本地wordpress环境…

代码语言:javascript
运行
复制
docker-compose up -d

docker-compose.yml示例还使用持久卷映射到您的项目目录,因此一旦docker完成了您的环境构建,您的本地项目目录现在将如下所示.

如果您现在访问http://localhost/后,初始对接已经完成,现在您将看到安装页.

错误日志文件将保存到您的logs目录和所有其他必要的wordpress目录现在映射到您的本地项目。

因此,下次您运行docker-compose down然后重新运行docker-compose up -d时,您的本地环境将与您上次关闭dockered时完全相同。

如果您正在使用git,那么您可能希望使用一个db文件排除重目录,如pluginsuploadslogs等.

代码语言:javascript
运行
复制
/db
/plugins
/uploads
/logs

我还将.gitignore添加到要旨中。

祝你好运,希望这能帮上忙。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73109392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档