我有问题,了解如何启用wordpress调试模式通过坞-撰写。wp-config.php调试部分的图像
define( 'WP_DEBUG', !!getenv_docker('WORDPRESS_DEBUG', '') );
这是wp-config.php文件的一部分,我应该能够在其中启用它。该文件是只读的,它似乎是为了通过docker-come.yaml文件启用此功能而设计的,但我不知道如何实现。我尝试过将WORDPRESS_DEBUG: 'true'
添加到wordpress服务的环境部分,但是它会引发错误,包含true/fals数据类型和'true‘,因为字符串似乎不起作用。我能想出的唯一解决方案是以超级用户的身份编辑文件。
发布于 2022-07-26 22:08:23
好吧,大约一年前,这件事把我绊倒了。请参阅我最初的问题问题,它导致wp_debug
模式被定义了两次,导致管理中出现了一个恒定的空白php错误.
php-通过停靠器拉wordpress更新wordpress 5.6.2至5.7后管理中的错误主体类
在wp_debug
与docker wordpress映像一起使用时,有几条规则。
wp-config.php
/WORDPRESS_CONFIG_EXTRA
中不能同时使用WORDPRESS_DEBUG: 1
,在docker-compose.yml
中不能同时使用WORDPRESS_DEBUG: 1
。同时使用它们总是会在管理仪表板上给出一个空白的php错误。docker-compose.yml
部署带有停靠器的wordpress以配置您的环境时,您不应该真的必须使用chmod 777
手动更改项目的权限以使调试模式工作。docker-compose.yml
文件来完成,这样您就可以安全地旋转和更新您的docker容器图像。现在我们知道了这些基本规则,这就是如何以正确的方式在WP_DEBUG
中启用docker-compose.yml
。看看环境块。
请注意,如果您试图旋转我的示例
docker-compose.yml
,在运行docker-compose up -d
之前,您还必须在同一个目录中显示uploads.ini
和error-logging.ini
文件。
请参阅公共要旨,其中有您需要在对接之前实现的.ini
文件代码.
https://gist.github.com/joshmoto/ab7c09ca45291f7e6f9a14cf070fa70c
您的空项目目录应该是这样的..。
这是完整的docker-compose.yml
配置..。
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环境…
docker-compose up -d
此docker-compose.yml
示例还使用持久卷映射到您的项目目录,因此一旦docker完成了您的环境构建,您的本地项目目录现在将如下所示.
如果您现在访问http://localhost/后,初始对接已经完成,现在您将看到安装页.
错误日志文件将保存到您的logs
目录和所有其他必要的wordpress目录现在映射到您的本地项目。
因此,下次您运行docker-compose down
然后重新运行docker-compose up -d
时,您的本地环境将与您上次关闭dockered时完全相同。
如果您正在使用git,那么您可能希望使用一个db
文件排除重目录,如plugins
、uploads
、logs
等.
/db
/plugins
/uploads
/logs
我还将.gitignore
添加到要旨中。
祝你好运,希望这能帮上忙。
https://stackoverflow.com/questions/73109392
复制相似问题