PHP не загружает переменные ENV, установленные в /etc/sysconfig/httpd

Я запускаю сайты Drupal (Apache и PHP) и хотел бы установить некоторые значения в файлах настроек как переменные среды. После изучения кажется, что правильный подход заключается в добавлении их в файл /etc/sysconfig/httpd. Похоже, что PHP (mod_php) не загружает переменные.

Мой файл /etc/sysconfig/httpd выглядит так:

LANG=C
db_server=internaldns.mine.com
db_port=3306
memcache_server1=otherinternaldns.mine.com:11211

Я загружаю переменные в Drupal (это php 7 (mod_php)) следующим образом:

$databases['default']['default'] = array (
   ...
  'host' => $_ENV['db_server'],
  'port' => $_ENV['db_port'],
   ...
);

Однако, похоже, он не загружает переменные, так как, когда я делаю статус сайта, я вижу следующее:

 Drupal version : 8.9.11                                                                             
 Site URI       : http://default                                                                     
 DB driver      : mysql                                                                              
 DB port        :              (THIS SHOULD HAVE THE VARIABLE)                           

Когда я устанавливаю те же значения без переменных, они работают нормально.

Есть ли какой-то шаг, который мне не хватает здесь для загрузки переменной внутри env?

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
320
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Всем, кто сталкивался с подобным:

Несмотря на то, что переменные были установлены в файле /etc/sysconfig/httpd, они не импортировались в мою оболочку (но PHP импортировал их правильно).

После создания файла в /etc/profile.d/, который экспортировал переменные для оболочки, он работал и в строке cmd -

#!/bin/bash

# DB Vars
export db_server=db_server
export db_port=3306

В качестве примечания. Несмотря на то, что это выглядело как сбой в строке CMD до того, как эти переменные были экспортированы, веб-сайт успешно обслуживался httpd. Это означало, что PHP правильно использует переменные.

Другие вопросы по теме