在将此问题标记为重复之前,请先查看我的问题。 我正在尝试使用我的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。我也尝试使用
安装opensslsudo 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上发布的答案对我不起作用。
答案 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);
?
您应该能够同时看到这两个部分