当前位置:首页 » 编程语言 » phpcurlsslno

phpcurlsslno

发布时间: 2022-10-01 21:30:19

⑴ 如题 php Curl error: SSL certificate problem: self signed certificate in certificate chain

证书的问题
该证书应该是一个自签名证书,这种证书是没有权威性的
可以通过curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);让其不验证ssl证书
最佳解决方案是,通过权威证书颁发机构来获得证书

⑵ PHP使用curl访问https页面的问题

你试试 curl_multi_getcontent( resource $ch ) 我记得这个东西是要接受的 忘了是在传过去的页面还是本页面

⑶ Windows 7 下如何配置PHP网站运行环境

本文适合PHP网站技术开发人员,对普通Windows7用户意义不大,敬请大家注意。一、Apache安装

版本解释:openssl是表示带有openssl模块,利用openssl就可以给Apache配置SSL安全链接的,也就是使用https://方式进行访问。

nossl则表示不带OpenSSL模块,无法用于SSL安全链接,在这里我们下载带OpenSSL的。

选择版本:apache_2.2.14-win32-x86-openssl-0.9.8k.msi (此处以32位为例)

下载地址:http://www.apache.org/dist/httpd/binaries/win32/

首先我们在D盘(盘符根据实际情况自己选择)新建一个目录, 并且命名为“WAMP”其意义为“Wdindows Apache Mysql PhpMyAdmin” 之后安装的一些内容,也都将安装在该目录下。

1.安装说明:

运行apache安装程序,方法非常简单,弹安装界面后一直“next”

接着会出现一个界面,需要填写3个内容,分别为:Network Domain、Server Name、Administrator’s Email Address 随便填写就好,不影响内容。

在下面还有2个选项,默认选择为80端口,第二个为8080端口,根据个人需求选择,一般为默认80端口。

我们继续安装,选择Custom(自定义安装)-“next”

其中有打着红X的组件,我们单击这个组件容,选择“This feature, and all subfeatures, will be

installed on local hard drive.”,即“此部分,及下属子部分内容,全部安装在本地硬盘上”。-“next”

然后选择右下角的“change ”改变安装路径,安装到刚才建立的目录中“D:WAMPApache”-“next”

安装完毕后,电脑右下角会多出一个图标,双击打开,选择start或restart,能正常运行,至此安装完毕。

2.修改配置:

打开安装录下D:WAMPApacheconfhttpd.conf 文件(修改配置文件时,不建议使用记事本,可能会对其造成影响,推荐使用Notepad++或其他编辑软件打开修改)

打开以后Ctrl+F查找所要修改的内容

在#LoadMole vhost_alias_mole moles/mod_vhost_alias.so下添加:

LoadMole php5_mole “D:/WAMP/PHP/php5apache2_2.dll”

PHPIniDir “D:/WAMP/PHP”

AddType application/x-httpd-php .php

AddType application/x-httpd-php .htm

AddType application/x-httpd-php .html

DocumentRoot “E:/WAMP/Apache/htdocs”

修改成(这里的路径和IIS中wwwroot目录一样,用于存放网页,自定义或不做修改默认):DocumentRoot “D:/WAMP/www”

修改成(自定义或不做修改默认):

DirectoryIndex index.html

修改成:DirectoryIndex index.php default.php index.html index.htm default.html default.htm

3.测试

在D:/WAMP/www目录下 建立个index.html页面

在浏览器中输入 http://localhost/

如果能正常显示,Apache配置完毕,已经正常运行。

二、MySql安装

版本解释:The Essentials Package:不包含 embedded server and benchmark suite,有自动安装程序和配置向导,没有MySQL Documentation。

The Complete Package:包含 embedded server and benchmark suite,有自动安装程序和配置向导,有MySQL Documentation。

The Noinstall Archive:包含 embedded server and benchmark suite,没有自动安装程序和配置向导,有MySQL Documentation。

选择版本:mysql-essential-5.1.44-win32.msi

下载地址:http://www.mysql.com/downloads/mysql/

1.安装说明:

打开安装程序,单击“next”

选择custom,组件为默认选择,我们不做改动-“next”

路径设置为“D:WAMPMysql”-“next”

安装好以后点击“finish”

跟着会出现一个配置向导-“next”

选择“Detailed Configuration(详细配置)”-“next”

这里有3个选项:

Developer Machine,将只用尽量少的内存;

Server Machine,将使用中等数量内存;

Dedicated MySQL Server Machine,这台服务器上面只跑mysql数据库,将占用全部的内存。

可以根据自己需求选择,这里我们选择第二种“Server Machine”-“next”

选择数据库用途,同样有3个选项:

Mutltifunctional Database多功能用途,将把数据库优化成很好的innodb存储类型和高效率的myisam存储类型;

Transactional Database Only只用于事务处理类型,最好的优化innodb,但同时也支持myisam;

Non-Transactional Databse Only非事务处理类型,适合于简单的应用,只有不支持事务的myisam类型是被支持的。

一般选择第一种多功能的,同样我们也是。-“next”

选择InnodDB的数据存放位置,一般默认就行,为了统一我填写了“WAMP/MySQL Datafiles”-“next”

选择mysql允许的最大连接数,第一种是最大20个连接并发数,第二种是最大500个并发连接数,最后一种是自定义,自己可以根据需求选择,我选择第二个-“next”

下面是选择数据库监听的端口,一般默认是3306,如果改成其他端口,以后连接数据库的时候都要记住修改的端口,否则不能连接mysql数据库,比较麻烦,这里不做修改,用mysq的默认端口:3306-“next”

这一步设置mysql的默认编码,我们选择第三个,并在Character Set菜单中,选择“gbk”编码-“next”

(注:如果要用原来数据库的数据,最好能确定原来数据库用的是什么编码,如果这里设置的编码和原来数据库数据的编码不一致,在使用的时候可能会出现乱码。)

这一步是是否要把mysql设置成windows的,一般选择设成服务,这样以后就可以通过服务中启动和关闭mysql数据库。下面的复选框也 勾选上,这样,在cmd模式下,不必非到mysql的bin目录下执行命令。也就是把上下2个勾都打上,中间默认-“next”

这一步是设置mysql的超级用户密码,这个超级用户非常重要,对mysql拥有全部的权限,请设置好并牢记超级用户的密码,下面有个复选框是选择是否允

许远程机器用root用户连接到你的mysql服务器上面,如果有这个需求,也请勾选。这里我们使用默认选择,在New root

password和Confirm中输入密码。“next”

点击“execute”进行配置,稍微等待一会,圆点上的勾全部打上,就代表配置完毕。

2.修改配置:

打开D:WAMPMySQLmy.ini

设置datadir为D:/WAMP/MySQL/data/或你所要存放数据位置的目录即可。

三、PHP安装

版本解释:VC9 专门为IIS定值的脚本,使用Visual Studio 2008编译器编译,支持最新的微软组建,从而提高效率。

VC6 是为了其他WEB服务软件提供的脚本 如 Apache。

Thread Safe 现成安全,之星时会进行线程 安全检查,以防止有心要求就启动新线程(Thread)的CGI执行方式而耗尽系统资源。

Non Thread Safe是非线程安全,在执行时不进行线程(Thread)安全检查

选择版本:PHP5.3(5.3.1)中VC6 x86 Thread Safe下 ZIP下载

下载地址:http://windows.php.net/download/

1.安装说明

由于我们下载的的是ZIP压缩包,只需要将文件解压到“D:WAMPPHP”目录下即可

2.修改配置

将E:WAMPPHPphp.ini-development 文件修改成php.ini

打开php.ini

; extension_dir = “ext”

修改成:extension_dir = “E:WAMPPHPext”

将947行下,这些文件前面的“;”去除

extension=php_curl.dll

extension=php_gd2.dll

extension=php_mbstring.dll

extension=php_mysql.dll

extension=php_mysqli.dll

extension=php_pdo_mysql.dll

extension=php_xmlrpc.dll

;date.timezone =

修改成(很多网站没提到这里要修改,默认为美国时间,如果不修改会报错):date.timezone = Asia/Shanghai

3.测试

重启Apache(修改过配置文件 必须重启Apache才会生效)

新建个index.php 页面,代码中输入,保存文件放到“D:WMAPwww”目录下

打开浏览器输入:http://localhost/index.php 如果能正常显示,说明PHP配置完毕,可以查看该页面的PHP信息是否正确。

(注:在改文件中输入函数可输出大量的有关PHP当前状态的信息,如PHP版本,服务器信息和环境等。)

(注:)

接着我们测试下,是否能连接到Mysql

再新建个link.php,下代码中输入

$link=mysql_connect(“127.0.0.1″,”root”,”Mysql安装时填写的密码”);

if(!$link) echo “Mysql数据库连接失败!”;

else echo “Mysql数据库连接成功!”;

mysql_close();

?>

也保存文件放到“D:WMAPwww”目录下

打开浏览器输入:http://localhost/link.php 查看

四、PhpMyAdmin安装

版本解释:phpMyAdmin-3.2.5

选择版本:phpMyAdmin-3.2.5-all-languages.zip

下载地址:http://www.phpmyadmin.net/home_page/downloads.php

1.安装说明

解压到D:WAMPphpMyAdmin

2.修改配置

打开D:WAMPphpMyAdminlibrariesconfig.default.php

$cfg['PmaAbsoluteUri'] = ”;

修改成(填写访问phpMyAdmin的绝对URL):$cfg['PmaAbsoluteUri'] = ‘http://localhost/PHPMyadmin/’;

$cfg['Servers'][$i]['host'] = ‘localhost’;

修改成(填写服务器地址,通常默认,不需要修改):$cfg['Servers'][$i]['host'] = ‘localhost’;

$cfg['Servers'][$i]['user'] = ‘root’;

修改成(填写Mysql用户名,这里我们默认):$cfg['Servers'][$i]['user'] = ‘root’;

$cfg['Servers'][$i]['password'] = ”;

修改成(填写Mysql密码):$cfg['Servers'][$i]['password'] = ‘Mysql PWD;

$cfg['Servers'][$i]['auth_type'] = ‘cookie’;

修改成(设置认证方法,安全因素考虑,填写成cookie):$cfg['Servers'][$i]['auth_type'] = ‘cookie’;

$cfg['blowfish_secret'] = ”;

修改成(设置短语密码,如果上面设置成cookie,那这里不能留空,不然登陆会提示错误):$cfg['blowfish_secret'] = ‘cookie’;

3.测试

打开浏览器输入:http://localhost/phpmyadmin/ 访问和登陆

五、结尾

至此Windows7下的PHP环境搭建完毕,大家尽情的使用吧。

⑷ php curl 忽略ssl 不是不是等于ssl没有用

差不多吧,等于不验证https的证书。
症状:php curl调用curl_exec返回bool(false),命令行curl调用正常。
排查方法:
var_mp(curl_error($ch));
返回:
string(23) "Empty reply from server"
再排查:
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);
返回:
HTTP/1.1 100 Continue
Connection: close
原因:php curl接收到HTTP 100就结束了,应该继续接收HTTP 200
解决方案:
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:'));

⑸ php 用curl获取https地址

你就算是
注释1和注释2都没有他照样会有数据输出
因为 他默认是输出你获得到的数据
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//输出内容为字符串
你要加上上面这一句话
这样就不会输出获取到的数据

⑹ 在 php curl返回

给你个我写的curl方法。

/**
*curl模拟提交
*@param string $url 网址
*@param array/string $opt 提交参数
*@param string &$header 取回的头信息
*@param string $redirect 是否重定向
*@param boolean $ssl 验证https证书
*@return [type] 返回信息
*/
functioncurl($url,$opt='GET',&$header=null,$redirect=true,$ssl=false){

//初始化
$ch=curl_init($url);

//配置设置
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,$ssl);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,$ssl);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,$redirect);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); #返回结果
curl_setopt($ch,CURLOPT_HEADER,true); #显示协议头

if(is_array($opt)){

//转小写
$opt=array_change_key_case($opt,CASE_LOWER);

//POST
if(isset($opt['type'])&&strtoupper($opt['type'])=='POST'){
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch,CURLOPT_POSTFIELDS,(isset($opt['data'])?$opt['data']:''));
}

//User-Agent
if(array_key_exists('ua',$opt))
curl_setopt($ch,CURLOPT_USERAGENT,$opt['ua']);

//Header
if(array_key_exists('header',$opt)){
curl_setopt($ch,CURLOPT_HTTPHEADER,(array)$opt['header']);
}

//Cookie
if(array_key_exists('cookie',$opt))
curl_setopt($ch,CURLOPT_COOKIE,$opt['cookie']);

//Referer
if(array_key_exists('referer',$opt))
curl_setopt($ch,CURLOPT_REFERER,$opt['referer']);

}else{

//仅POST
if(strtoupper((string)$opt)=='POST')
curl_setopt($ch,CURLOPT_POST,true);

}

$result=curl_exec($ch);

if(curl_errno($ch)){
$result=curl_error($ch);
}else{

//获取头长度
$length=curl_getinfo($ch,CURLINFO_HEADER_SIZE);

//取出头信息
$header=substr($result,0,$length);

//去掉头信息
$result=substr($result,$length);

}

//释放
curl_close($ch);

return$result;

}

⑺ php的curl功能死活开启不了,求救

1、你修改了PHP的配置,重启一下PHP就好了啊……
2、这个是PHP的问题,和mysql phpmyadmin没有关系……所以不需要重装了

⑻ Linux服务器PHP环境Curl模块详细配置,开启SSL和HTTPS支持

为什么我的还是不行 已经加了--with-ssl

热点内容
电脑服务器租赁平台 发布:2024-12-24 21:52:12 浏览:227
php7源码安装 发布:2024-12-24 21:38:10 浏览:903
linuxandroid 发布:2024-12-24 21:37:19 浏览:39
安卓手机不能自动锁屏怎么回事 发布:2024-12-24 21:37:08 浏览:865
脚本艾克 发布:2024-12-24 21:36:15 浏览:716
android单元测试studio 发布:2024-12-24 21:35:34 浏览:821
数控车床软件编程 发布:2024-12-24 21:26:16 浏览:525
如何对华为图库设置密码 发布:2024-12-24 21:16:20 浏览:501
scala反编译工具 发布:2024-12-24 21:03:26 浏览:770
安卓长按app怎么删除不了 发布:2024-12-24 20:57:44 浏览:718