PHP 中的 OAuth 扩展加载
Posted
技术标签:
【中文标题】PHP 中的 OAuth 扩展加载【英文标题】:OAuth Extension Loading in PHP 【发布时间】:2011-08-03 22:30:26 【问题描述】:嗨,我真的在为这个问题苦苦挣扎。
我正在使用 Google Analytics 和 Google Adwords 进行开发;我在由 Google 编写的 API Helper Libraries 中使用了两个单独的 Oauth 库。一个是 Adwords 的扩展 (oauth.so),另一个只是 Analytics 的 php 类。
当我更改 php.ini 文件以加载扩展程序时,我的 Analytics OAuth 中断。我认为这可能是类名的冲突?我曾尝试更改名称,但没有任何运气。我以为我想出了一个解决方案:使用 dl() 函数在 Adwords 相关页面上动态加载 oauth.so 扩展名(它们是单独的脚本):
dl('oauth.so');
在命令行上效果很好!但它在浏览器中不起作用。我拒绝相信以前没有人遇到过这个问题。我知道从 php.ini 加载扩展在浏览器中有效,它只是禁用了 Analytics 类。任何有这方面经验的人,我很想听听您的意见,如果您有任何建议,请随时提出!
谢谢
【问题讨论】:
【参考方案1】:AdWords API PHP 客户端库已更新,允许使用不同的 OAuth 库:
http://code.google.com/p/google-api-adwords-php/source/detail?r=178
您甚至可以编写自己的 OAuthHandler 类,利用 Analytics 库使用的现有 OAuth 库。
【讨论】:
Eric 非常感谢你救了你的命【参考方案2】:一直是removed from some SAPI's
,或者为网络服务器切换到CGI
(brr),或者尝试解决您的 Analytics PHP 类的问题。
【讨论】:
感谢您的回复,我需要在 OAuth Analytics Helper 库中重命名 15 个不同的 OAuth 相关类,更改所有这些类的名称以及实例化它们的位置将是一场噩梦。我即将使用具有扩展名的 PHP 版本设置第二台服务器,然后设置一个 REST 接口以在两者之间进行通信' 只是为了澄清你是否建议我安装 PHP 的第二个版本作为 CGI 安装? 不一定是第二个,但是 PHP 作为一个模块不能使用dl
,要么在同一个网络服务器上运行(快速)CGI,要么在具有不同 .ini 的不同网络服务器上运行你喜欢的 PHP 以上是关于PHP 中的 OAuth 扩展加载的主要内容,如果未能解决你的问题,请参考以下文章