我尝试安装OAuth PECL软件包,并且我使用的是PHP 5. 当我运行install命令时,我得到下面的错误,我必须有PHP版本7.0 目前无法升级到PHP 7,因此如何为PHP 5安装OAuth包?
Exception in thread "main" java.lang.NumberFormatException: For input string: ""
答案 0 :(得分:13)
对oauth
版本2.0.0似乎搞砸了依赖关系。您可以安装以前的版本:
sudo pecl install oauth-1.2.3
我还代表你在他们的GitHub项目上提出了一个问题(here),因为这似乎是一个无意的错误。
在package.xml
中,我们有:
<required>
<php>
<min>7.0.0</min>
</php>
<!-- ... -->
</required>
修改强>
看起来有一些来自错误报告的消息。实际上,版本2.0.0仅支持PHP7,并且更改日志不清楚。 oauth
的维护者已提交a bug against PECL来安装最新的兼容版本。所以,是的,你坚持使用1.2.3并且上面的说明是正确的。
再次编辑
看起来PECL不会很快修复此问题,因此我们无法安装特定版本:)
答案 1 :(得分:1)
延伸已经接受的答案
如果您遇到像我这样的编译错误,很可能您正在使用像MAMP这样的应用程序
不幸的是,最新版本的MAMP并不包括php的所有组件
要安装缺少的标题,请下载相应的php源代码。
php-5.6.10
的源代码可以从here
下载源代码后将其解压缩到php
include/php
下的/Applications/MAMP/bin/php/php5.6.10
文件夹中,php文件夹位于/Applications/MAMP/bin/php/php5.6.10/include/php
,因此我在php-version
下提取了文件。
注意:强>
当您解压缩文件时,我们会在php-5.6.10
这样的文件夹中提取文件,php
将其重命名为include
,然后将其移至/Applications/MAMP/bin/php/php5.6.10/include/php
文件夹。
现在转到./configure
然后运行oauth
这应该构建所需的头文件,然后您可以安装@Entity
@Table(name="PRODUCT")
class Product {
@Id
@Column(name = "PRODUCT_ID")
protected Integer productId;
@Column(name = "NAME")
protected String name;
@Formula("(select MAGIC_VALUE from STATISTICS where PRODUCT_ID_FK = PRODUCT_ID)")
protected String magicValue;
}
。