[英]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.