PHP fatal error: class oauth still not found

PHP fatal error: class oauth still not found

我按照PHP Fatal error: Class 'OAuth'的解决方法,但还是报同样的错误。

安装

$ sudo pecl install oauth

然后在/etc/php/7.0/cli/php.ini

末尾添加下面一行
extension=/usr/lib/php/20151012/oauth.so

"php -m" 和 "php --re oauth" return 都有。但是 "php -z" 不起作用,也没有来自 phpinfo() 的 OAuth。

$ php -z oauth /var/www/html/oauth.php
Failed loading oauth:  oauth: cannot open shared object file: No such file or directory
PHP Notice:  Undefined index: HTTP_HOST in /var/www/html/oauth.php

需要注意一件事,我在 apache2 上 运行 PHP 作为 nginx 代理后面的 docker 容器。那会有问题吗?我通过 phpinfo() 验证 PHP,它工作正常。

系统是Ubuntu16.04,也是。

$ pecl list
Installed packages, channel pecl.php.net:
=========================================
Package Version State
oauth   2.0.2   stable

感谢您的帮助。

$_SERVER['HTTP_HOST']仅在运行php作为web服务器或cgi模式时存在。因此,如果您在 cli 模式下 运行,则 $_SERVER 不包含 HTTP_HOST 索引。尝试访问不存在的索引将抛出 notice.

否则,如果请求结束ip而不是host,则该索引将不存在。