![](/img/trans.png)
[英]Enabling Soap Client for docker docker-compose php-fpm
[英]Enabling Wordpress debug mode in docker-compose environment
我在理解如何通過 docker-compose 啟用 wordpress 調試模式時遇到問題。wp -config.php 調試部分的圖片
define( 'WP_DEBUG', !!getenv_docker('WORDPRESS_DEBUG', '') );
這是我應該能夠啟用它的 wp-config.php 文件的一部分。 該文件是只讀的,它似乎旨在通過 docker-compose.yaml 文件啟用此功能,但我不知道如何實現。 我嘗試將WORDPRESS_DEBUG: 'true'
添加到 wordpress 服務的環境部分,但它會拋出 true/fals 數據類型的錯誤,並且 'true' 作為字符串似乎不起作用。 我能想到的唯一解決方案是以超級用戶身份編輯文件。
好吧,大約一年前,這讓我大跌眼鏡。 請參閱我的原始問題,該問題導致wp_debug
模式被定義兩次,導致管理員中出現常量空白 php 錯誤...
更新 wordpress 5.6.2 至 5.7 通過 docker pull wordpress 后,管理員中的 php-error body class
將wp_debug
與docker wordpress圖像一起使用時的一些規則。
define('WP_DEBUG', true);
在wp-config.php
/ WORDPRESS_CONFIG_EXTRA
和WORDPRESS_DEBUG: 1
同時在docker-compose.yml
中。 同時使用它們將始終在管理儀表板中顯示空白 php 錯誤。docker-compose.yml
部署 wordpress 和 docker 來配置您的環境時,您永遠不必使用chmod 777
手動更改項目的權限以使調試模式工作。docker-compose.yml
文件完成,這樣你就可以安全地啟動和更新你的 docker wordpress 容器鏡像。 所以現在我們知道了這些基本規則,這就是在docker-compose.yml
中啟用WP_DEBUG
的正確方法。 請參閱環境塊。
請注意,如果您嘗試啟動我的示例
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 完成構建您的環境,您的本地項目目錄現在將如下所示...
如果您現在在初始 dockering up 完成后訪問http://localhost/ ,您現在將看到安裝頁面...
錯誤日志文件將保存到您的logs
目錄,所有其他必要的 wordpress 目錄現在都映射到您的本地項目。
所以下次你運行docker-compose down
然后重新運行docker-compose up -d
時,你的本地環境將與你上次 dockered down 時完全一樣。
如果您使用的是 git,那么您可能希望使用.gitignore
文件排除繁重的目錄,例如db
、 plugins
、 uploads
、 logs
等...
/db
/plugins
/uploads
/logs
我還在gist中添加了.gitignore
。
祝你好運,希望這會有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.