我使用codeigniter发送邮件但是我的共享主机有问题,因为我无法访问php.ini所以我有这些错误:
A PHP Error was encountered
Severity: Warning
Message: fsockopen(): unable to connect to ssl://smtp.googlemail.com:465
(Connection timed out)
Message: fwrite() expects parameter 1 to be resource, boolean given
Message: fgets() expects parameter 1 to be resource, boolean given
我也使用了.htaccess这个内容:
php_extension openssl.so
但我收到了这个错误:
内部服务器错误
服务器遇到内部错误或配置错误,但无法解决 完成您的请求。 服务器错误日志中可能提供了有关此错误的更多信息。 此外,尝试时遇到500内部服务器错误错误 使用ErrorDocument来处理请求。
我也读了很多关于这个问题的话题,但没有一个能解决我的问题。 现在,我不知道该怎么做!
更新 我在主人身上发现了一些东西,我更加困惑了!我写了这个:
if (extension_loaded('openssl'))
{
echo "enabled";
}
die();
那么为什么我会收到这些错误:
A PHP Error was encountered
Severity: Warning
Message: fsockopen(): unable to connect to ssl://smtp.googlemail.com:465
(Connection timed out)
Message: fwrite() expects parameter 1 to be resource, boolean given
Message: fgets() expects parameter 1 to be resource, boolean given
答案 0 :(得分:0)
php有dl()
在运行时启用扩展
见http://php.net/manual/en/function.dl.php
dl - 在运行时加载PHP扩展
试试这个
function load_lib($n, $f = null)
{
return extension_loaded($n) or dl(((PHP_SHLIB_SUFFIX === 'dll') ? 'php_' : '') . ($f ? $f : $n) . '.' . PHP_SHLIB_SUFFIX);
}
load_lib('openssl');
答案 1 :(得分:0)
OpenSSL必须是compiled with PHP,所以你可能不会选择共享托管。
尝试切换到SendGrid - 他们有一个free usage tier,允许您每天发送400封电子邮件,并且广泛example code for PHP。
答案 2 :(得分:0)
我通过使用我的主机安全邮件服务器而不是Gmail解决了我的问题。无论如何我都没有找到通过Gmail发送邮件的信息!