2017-01-11 39 views
0

最近,我问我的托管公司安装了一个新的软件包,从那时起,我现有的软件包现在给我提供了有关使用openSSL的任何错误。PHP和OpenSSL在服务更改后停止工作

举例来说,我有一个函数生成一个GUID:

function generateGUIDV4($data) 
{ 
    assert(strlen($data) == 16); 
    $data[6] = chr(ord($data[6]) & 0x0f | 0x40); // set version to 0100 
    $data[8] = chr(ord($data[8]) & 0x3f | 0x80); // set bits 6-7 to 10 
    return vsprintf('%s%s-%s-%s-%s-%s%s%s', str_split(bin2hex($data), 4)); 
} 

$newID = generateGUIDV4(openssl_random_pseudo_bytes(16)); 

这现在抛出一个错误:Fatal error: Call to undefined function openssl_random_pseudo_bytes()。从我研究的这个与Fatal error: Call to undefined function openssl_random_pseudo_bytes()有关。

现在,当我从我的应用程序再次指向openSSL调用任何Web服务时,我现在也出现错误。

错误

Objectfaultcode: "WSDL"faultstring: "SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://*******'"__proto__: Object 

.I've隐藏在Web服务,因为它不是公众。从我所研究的这点再次指向OpenSSL:SOAP-ERROR: Parsing WSDL: Couldn't load from <URL>

PHP燕丽正显示出安装OpenSSL

OpenSSL support enabled 
OpenSSL Version OpenSSL 0.9.8b 04 May 2006 

任何人有任何意见或点我在正确的方向?我有托管公司正在研究这个问题。

+0

他们安装了什么新套件? –

+0

他们设置了另一个托管软件包 - 基本上是服务器上的一个新区域,所以我可以设置一个新网站,拥有FTP并指向一个域等等。 –

回答

0

我已经解决了这个问题,它与托管公司无关。

我发表在网站的新版本,但在发布配置我告诉它删除的删除其包含PHP的版本.htaccess文件中的所有文件。

不幸的是,我需要5.4版本或上面来运行我的代码,但自从文件被删除后,它下降到5.2的PHP。

所以我上传了一个新的.htaccess文件,其中正确的版本和一切正常。

希望这可以帮助别人,如果他们跟我一样傻。

相关问题