[英]bigquery php client not working with Apache web page (Ubuntu 18.10 server)
我在 Ubuntu 18.10 服務器上有一個可使用 Php 7 頁面的 Apache 2.4 網站。
我的示例基於: https : //cloud.google.com/bigquery/docs/quickstarts/quickstart-client-libraries#client-libraries-install-php
當我像我一樣從命令行運行頁面時
php filex.php
bigquery 有效,我可以看到數據。 當我嘗試從 apache 網絡服務器查看它時,頁面的第一部分呈現然后出現錯誤並且缺少 bigquery 部分。
/var/log/apache2 中的錯誤
PHP 致命錯誤未捕獲的 Google Cloud 異常
我猜這是 Apache 與我的用戶 ID 的權限問題。 由於目錄權限,我認為 Apache 可能難以訪問 Bigquery php 客戶端文件。
但是,問題是我沒有正確設置環境變量。
我看過這里: https : //help.ubuntu.com/community/EnvironmentVariables並設置系統范圍的環境變量 /etc/environment
GOOGLE_APPLICATION_CREDENTIALS="/bigquery/project1/accountdetails-xxxxxxxxxxxx.json"
以 userx 身份登錄時可見
echo $GOOGLE_APPLICATION_CREDENTIALS
這給了我解決方案
nano /etc/apache2/envvars
我將這一行添加到(主要是空的)腳本的底部
export GOOGLE_APPLICATION_CREDENTIALS="/bigquery/project1/accountdetails-xxxxxxxxxxxx.json"
我重新啟動了服務器。 現在網頁按預期工作。
====================
nginx
還需要配置 nginx 才能工作(Ubuntu 18.10、nginx 1.14。)
/etc/php/7.2/fpm/pool.d$
編輯 www.conf
uncomment
;clear_env = no
添加行
env[GOOGLE_APPLICATION_CREDENTIALS] = /bigquery/project1/accountdetails-xxxxxxxxxxxx.json
重新啟動 nginx 並且它起作用了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.