【问题标题】:PHP and OpenSSL stopped working after service change服务更改后 PHP 和 OpenSSL 停止工作
【发布时间】:2017-05-26 03:36:47
【问题描述】:

最近我要求我的托管公司设置一个新包,从那时起,我现有的包现在给我与使用 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 

。我隐藏了网络服务,因为它不是公开的。根据我的研究,这再次指向 OpenSSL:SOAP-ERROR: Parsing WSDL: Couldn't load from <URL>

PHP Ini 显示已安装 openSSL

OpenSSL support enabled
OpenSSL Version OpenSSL 0.9.8b 04 May 2006

任何人有任何想法或指出我正确的方向吗?我已经让托管公司调查此事。

【问题讨论】:

  • 他们安装了什么新包?
  • 他们设置了另一个托管包 - 所以基本上是服务器上的一个新区域,所以我可以设置一个新网站,拥有 FTP 并指向一个域等等......

标签: php hosting php-openssl


【解决方案1】:

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

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

不幸的是,我需要 5.4 或更高版本来运行我的代码,但由于文件被删除,它下降到 PHP 5.2。

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

希望这对像我一样愚蠢的人有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-04
    • 2019-06-13
    相关资源
    最近更新 更多