尝试使用nginx + PHP 5通过PHP连接到SMTP + SSL时出现以下错误,
Could not connect to smtp host 'ssl://smtp.gmail.com' (5) (Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP?)
在phpinfo中我看到:
OpenSSL support disabled (install ext/openssl)
这导致我相信我已经错误地安装了OpenSSL。
我读过一堆地方,我应该取消注释以下行:
extension = php_openssl.dll
这行不存在,所以我把它添加到我的php.ini结束无济于事。 php_openssl.dll文件不存在于我的服务器上的任何地方。
你提到的这个行的确在Windows机器上激活了openssl PHP-Extension – 尽pipe我怀疑你在Windows上运行的是nginx。
extension = openssl.so在我的Box上加载openssl扩展,你需要用openssl编译PHP支持:
--with-openssl[=DIR]
或/并build议您的发行包pipe理,以正确地构build扩展。
php_openssl.dll文件不存在于我的服务器上的任何地方
然后你需要安装它(它也需要一个兼容的openSSL安装)。 看到我的水晶球,我看到你在MSWindows上运行 – 你使用PHP打包安装? 如果是的话哪一个?
从php.net的二进制分发包括PHP存根(stub)dll – 如果它不在你的机器上,你可能需要重新安装php。 然后安装openssl并启用加载的扩展。
或者,您可以通过stud / stunnel路由SMTPstream量