关于“请开启您PHP环境的openssl”无法开启的原因,与大家分享,不用回答!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于“请开启您PHP环境的openssl”无法开启的原因,与大家分享,不用回答!相关的知识,希望对你有一定的参考价值。
网友对于这个问题的解决方法如下:
windows下开启方法:
1: 首先检查php.ini中;extension=php_openssl.dll是否存在, 如果存在的话去掉前面的注释符‘;’, 如果不存在这行,那么添加extension=php_openssl.dll。
2: 讲php文件夹下的: php_openssl.dll, ssleay32.dll, libeay32.dll 3个文件拷贝到 WINDOWS\system32\ 文件夹下。
3: 重启apache或者iis
至此,openssl功能就开启了。
但是我试了之后没成功,后摸索发现问题,现补充两点:
1. php_openssl.dll这个文件在c:\php\ext这个文件夹下;
2.php.ini中去分号这一点,除了网友描述外,不成功的关键点在于你的不同php的版本中都有一个php.ini文件,把对应版本中的这个php.ini文件中的分号也要去掉。
一点心得与大家分享,希望对您有用!
、解压缩openssl的包,进入openssl的目录
、perl configure VC-WIN32
尽量在这个目录下执行该命令,否则找不到Configure文件,或者指定完整的Configure文件路径。
、ms\do_ms
在解压目录下执行ms\do_ms命令
、nmake -f ms\ntdll.mak编译后在openssl解压目录下执行,完成编译后。输出的文件在out32dll里面,包括应用程序的可执行文件、lib文件和dll文件
注意:在运行第五步时,cl编译器会抱怨说.\crypto\des\enc_read.c文件的read是The POSIX name for this item is deprecated(不被推荐的),建议使用_read。呵呵,我可不想将OpenSSL中的所有的read函数修改为_read。再看cl的错误代码 error C2220,于是上MSDN上查找:
warning treated as error - no object file generated
/WX tells the compiler to treat all warnings as errors. Since an error occurred, no object or executable file was generated.
是由于设置了/WX选项,将所有的警告都作为错误对待,所以。。。
于是打开OpenSSL目录下的MS目录下的ntdll.mak文件,将CFLAG的/WX选项去掉,存盘。 参考技术A 如果使用的是集成环境的话,还需要用php文件夹下的: ssleay32.dll, libeay32.dll 去覆盖一下Apache/bin 里面的这两个文件,有可能是版本不相同造成的。然后重启apache服务就可以了 参考技术B 楼主正解。其他扯蛋 参考技术C 是不是扩展库的路径设错了
学习日志-关于源码apache无法开启服务
httpd: Could not reliably determine the server‘s fully qualified domain name, using localhost.localdomain for ServerName
httpd (pid 31688) already running
服务器:无法可靠地确定服务器的完全限定的域名,使用localhost.localdomain为ServerName
httpd(PID 31688)已经运行
我是安装在/usr/local/apache2 ,需要修改文件/usr/local/apache2/conf/httpd.conf中的 标注#去掉
重新启动服务/usr/local/apache2/bin/apache1 restart
以上是关于关于“请开启您PHP环境的openssl”无法开启的原因,与大家分享,不用回答!的主要内容,如果未能解决你的问题,请参考以下文章
Thinkphp3.2.3关于开启DEBUG正常,关闭DEBUG就报错模版无法找到