Мне дали файл docker-compose.yml от агентства, которое создало наш веб-сайт, чтобы создать локальную копию нашего существующего веб-сайта теперь, когда я взял на себя управление нашим Wordpress e-ком.
При запуске docker-compose up
и веб-сайт, и контейнеры базы данных запускаются без каких-либо предупреждений (кроме apache2 без заданного имени сервера), и когда я в браузере перехожу на localhost может связаться с экземпляром сервера, однако меня приветствует следующее сообщение:
Неустранимая ошибка: Uncaught TypeError: Аргумент 1, переданный в Dotenv \ Dotenv :: __ construct (), должен быть экземпляром Dotenv \Загрузчик, заданная строка, вызывается в /var/www/config/application.php в строке 8 и определяется в /var/vendor/vlucas/phpdotenv/src/Dotenv.php:31 Трассировка стека: # 0 / var / www / config/application.php(8): Dotenv \ Dotenv -> конструкция __ ('/ var / www') # 1 /var/www/public/wp-config.php(14): require_once ('/ var / www / config... ') # 2 /var/www/public/wp/wp-load.php(42): require_once (' / var / www / public ... ') # 3 / var / www / public / wp / wp-blog-header.php (13): require_once ('/ var / www / public ...') # 4 /var/www/public/index.php(5): require ('/ var / www / public... ') # 5 {main} добавлено в / var / vendor / vlucas / phpdotenv/src/Dotenv.php в строке 31```
Считая, что это проблема с самим файлом .env, я воссоздал его, поскольку он содержит очень мало простых строк (изменил значения дляразделяю здесь, в остальном идентично):
MYSQL_ROOT_PASSWORD=rootpassword
MYSQL_DATABASE=wordpressdb
MYSQL_USER=wordpressuser
MYSQL_PASSWORD=wordpresspassword
Независимо от того, куда я положил этот файл .env, мне кажется, что это приводит к одной и той же фатальной ошибке.
Я думаю, что это может бытьНе удалось правильно установить dotenv, я вернулся к основам и убедился, что в Composer есть все, что нужно.В моем файле composer.json перечислены следующие обязательные зависимости:
"php": ">=5.5",
"composer/installers": "^1.2",
"vlucas/phpdotenv": "^3.4",
"johnpbloch/wordpress": "^4.9.5",
"wpackagist-plugin/timber-library": "1.1.*",
"wpackagist-plugin/woocommerce": "3.4.7",
"wpackagist-plugin/advanced-custom-fields-table-field": "1.*",
"wpackagist-plugin/woocommerce-email-test": "^1.8",
"wpackagist-plugin/woocommerce-pdf-invoices-packing-slips": "^2.0.9",
"wpackagist-plugin/redirection": "^3.4",
"wpackagist-plugin/relevanssi": "^4.0",
"wpackagist-plugin/acf-gravityforms-add-on": "^1.2",
"wpackagist-plugin/woocommerce-product-price-based-on-countries": "^1.7",
"wpackagist-plugin/acf-content-analysis-for-yoast-seo": "^2.1",
"wpackagist-plugin/autoptimize": "^2.3",
"wpackagist-plugin/w3-total-cache": "^0.9.7",
"wpackagist-plugin/post-types-order": "1.9.3.9",
"wpackagist-plugin/amazon-s3-and-cloudfront":"^2.0",
"phpoption/phpoption": "^1.5",
"symfony/polyfill-ctype": "^1.11",
"symfony/dotenv": "^4.3"
Когда я запускаю composer show -i
, он показывает, что они все установлены.
Ожидаемые результаты: Мне нужно просмотреть локальную копию нашего Wordpress на localhost , чтобы я мог разработать и затем отправить изменения в концентратор докеров.
Фактические результаты: Нет ошибок CLI при сборке из docker-compose.yml, но при доступе к localhost
я получаю сообщение об ошибке, связанной с dotenv, показанное выше.
Это действительно ставит меня в тупик - если кто-нибудь сможет пролить свет на ситуацию, я был бы бесконечно благодарен!