无法在Ubuntu 16.04

时间:2018-09-04 06:09:44

标签: php ubuntu openssl ubuntu-16.04

在将此问题标记为重复之前,请先查看我的问题。 我正在尝试使用我的connectionString连接到Azure表,该错误为:

failed to open stream: Unable to find the socket transport "http" - did you forget to enable it when you configured PHP?

因此,我意识到我的openssl没有加载。遵循Drew的回答here,但按照预期,在取消注释: extension = php_openssl.dll 并运行服务器后,出现以下错误:

/usr/lib/php/20151012/php_openssl.dll: cannot open shared object file: No such file or directory in Unknown on line 0

这意味着我的扩展库中没有php_openssl.dll。因此,按照答案的建议,我尝试下载dll,但找不到适用于Ubuntu的dll。我也尝试使用

安装openssl
sudo apt-get install openssl
我得到的

openssl is already the newest version (1.0.2g-1ubuntu13)

然后我也按照this上的说明进行操作,但是当我编写命令时:

tar zxvf php-7.0.18.tar.gz  (where my PHP version is 7.0.18)

我收到以下错误:

tar (child): php-7.0.18.tar.gz: Cannot open: No such file or directory

我完全被困住了,无法弄清楚如何找到php_openssl.dll并将其放入我的PHP扩展文件夹20151012中。 任何帮助将不胜感激:)

编辑:

我在上面已经提到了为什么在PHP openssl in Ubuntu上发布的答案对我不起作用。

1 个答案:

答案 0 :(得分:0)

我认为OpenSSL不需要外部扩展,它是ubuntu的PHP内置的,您可以尝试再次删除并重新安装PHP吗?并尝试在浏览器中看到$string = 'Q: What is your favorite color? A: Red Q: Who is your favorite actor? A: George Clooney'; $lines = preg_split("/[\r\n]+/",$string); $fixed = []; foreach($lines as $line) if(!preg_match('/^Q:/', $line)) $fixed[] = $line; echo implode(PHP_EOL, $fixed);

You should be able to see this both

您应该能够同时看到这两个部分

You should be able to see this both