Общая проблема заключается в том, что Apache не имеет клиентских библиотек Oracle (например, Instant Client) в своем пути поиска библиотек.Причина, по которой PHP работает в командной строке, заключается в том, что в вашей оболочке правильно указан путь поиска библиотеки.
Если на этом компьютере нет других библиотек Oracle, выполните:
sudo sh -c "echo /usr/lib/oracle/18.3/client64/lib > /etc/ld.so.conf.d/oracle-instantclient.conf"
sudo ldconfig
Если у вас есть другое программное обеспечение, которое может конфликтовать, сделайте что-то вроде редактирования /etc/sysconfig/httpd
и добавьте:
LD_LIBRARY_PATH=/usr/lib/oracle/18.3/client64/lib
В зависимости от вашей версии Apache, то, как вы устанавливаете среду, меняется (да!)
Вам может понадобиться или не понадобиться экспортировать это:
export LD_LIBRARY_PATH=/usr/lib/oracle/18.3/client64/lib
В других системах вы можете использовать файл Apaches envvars.