Я догадался, что это проблема с разрешениями Apache против моего идентификатора пользователя.Я подумал, что у Apache могут возникнуть проблемы с доступом к файлам клиента Bigquery php из-за прав доступа к каталогу.
Однако проблема заключалась в том, что я неправильно установил переменную среды.
Я посмотрел здесь:https://help.ubuntu.com/community/EnvironmentVariables и установите общесистемные переменные среды / etc / environment
GOOGLE_APPLICATION_CREDENTIALS="/bigquery/project1/accountdetails-xxxxxxxxxxxx.json"
Это было видно при входе в систему как userx
echo $GOOGLE_APPLICATION_CREDENTIALS
Затем я наткнулся на https://medium.com/@william.b/setting-dynamic-environmental-variables-in-apache-from-the-os-1d5c1e2e9e6c
, который дал мне решение
nano /etc/apache2/envvars
Я добавил строку в конец (в основном пустой) скрипта
export GOOGLE_APPLICATION_CREDENTIALS="/bigquery/project1/accountdetails-xxxxxxxxxxxx.json"
Я перезапустил сервер.Теперь веб-страница работает как положено.
===================
Nginx
nginx также должен быть настроен для работы (Ubuntu 18.10, nginx 1.14.)
из https://medium.com/@tomahock/passing-system-environment-variables-to-php-fpm-when-using-nginx-a70045370fad
/ etc / php / 7.2 / fpm / pool.d $
отредактировано www.conf
uncomment
;clear_env = no
добавлена строка
env[GOOGLE_APPLICATION_CREDENTIALS] = /bigquery/project1/accountdetails-xxxxxxxxxxxx.json
перезапустил nginx и все заработало.