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

php53curl

发布时间: 2024-08-24 12:57:14

‘壹’ 如何配置apache以fastcgi模式运行php

第一步:下载安装的文件
1. Apache 版本 httpd-2.2.21-win32-x86-no_ssl.msi
2. mod_fcgid 版本 mod_fcgid-2.3.6-win32-x86.zip
3. Mysql 版本 mysql-5.5.19-win32.msi
4. PHP 版本 php-5.3.5-nts-Win32-VC6-x86.zip
提示:
1. 建议选择无SSL功能的Apache版本来完成开发,我们这里使用了httpd-2.2.21-win32-x86-no_ssl.msi。
2. 建议选择由Apache官方所提供的mod_fcgid 作为FastCGI模块。我们这里使用目前最新版本2.3.6。 mod_fcgid官方地址
3. Windows下安装MySQL就选择.msi安装包格式,我们选择了mysql-5.5.19-win32.msi ,双击根据向导安装即可,简单方便。
4. PHP我们选择用php-5.3.5-nts-Win32-VC6-x86.zip 这个版本。这个是nts(非线程安全)版本,是针对PHP的FastCGI安装方式。
第二步:安装文件
1. 在要安装的磁盘建一个文件夹。为了以后管理方便我们在D盘的根目录下创建一个WAMP文件夹。 D:\WAMP(WAMP是 windows+apache+mysql+php的缩写)。
2. 在WAMP文件夹下创建一个WWW文件夹,用来存放你的PHP网站程序。D:\WAMP\WWW。
3. 安装Apache服务器,把Apache服务器安装到 D:\WAMP\Apache 文件夹。具体Apache安装过程可以参考文档 Apache安装图解。
4. 把下载的php-5.3.5-nts-Win32-VC6-x86 解压到 D:\WAMP\PHP 文件夹。
5. 安装MySql数据库,把MySQL安装到 D:\WAMP\MySQL文件夹。具体MySQL安装过程可以参考文档MySQL安装图解。
第三步:配置 Apache
首先使用文本编辑工具(推荐 EditPlus )打开 D:\WAMP\Apache\conf\httpd.conf 文件,这个文件是Apache的配置文件,下面几步都是在修改这个文件的内容。
要注意的是修改完 httpd.conf 文件需重新启动Apache服务,新设置才会生效。
1. 设置监听端口
打开 httpd.conf 文件后,找到 Listen(大概在第46行),将它后面的数字改为8080,如下:
Listen 8080

这个参数用来设置Apache服务器的监听端口,一般默认为80。修改为8080 是为了避免和Windows 2003系统的IIS端口号冲突,如果你没有启用IIS,也可以使用默认的80端口号。
2. 修改网站存放目录
我们知道Apache默认的网站存放目录为Apache安装目录下的htdocs文件夹。当你更改网站存放目录,就必须修改相应的Apache配置。
在配置文件 httpd.conf 中查找 DocumentRoot,将其修改为指向网站目录的正确文件夹。我们这里改为
DocumentRoot "D:/WAMP/www"

同时,查找 This should be changed to whatever you set DocumentRoot to,在它下面有行 <Directoy 默认的DocumentRoot >,将其修改为你自己配置的DocumentRoot 路径。我们这里修改为:
<Directory "D:/WAMP/www">

3. mod_fcgid 配置
我们将下载的 mod_fcgid-2.3.6-win32-x86.zip 压缩包中的“mod_fcgid.so”文件复制到apache的“moles”目录。
打开 httpd.conf 文件,在最后加入如下配置:
LoadMole fcgid_mole moles/mod_fcgid.so
<IfMole mod_fcgid.c>
AddHandler fcgid-script .fcgi .php
#php.ini的存放目录
FcgidInitialEnv PHPRC "D:/WAMP/PHP"
# 设置PHP_FCGI_MAX_REQUESTS大于或等于FcgidMaxRequestsPerProcess,防止php-cgi进程在处理完所有请求前退出
FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 1000
#php-cgi每个进程的最大请求数
FcgidMaxRequestsPerProcess 1000
#php-cgi最大的进程数
FcgidMaxProcesses 5
#最大执行时间
FcgidIOTimeout 120
FcgidIdleTimeout 120
#php-cgi的路径
FcgidWrapper "D:/WAMP/PHP/php-cgi.exe" .php
AddType application/x-httpd-php .php
</IfMole>

修改DocumentRoot 路径的配置为:
<Directory "D:/WAMP/WWW">
Options Indexes FollowSymLinks ExecCGI
Order allow,deny
Allow from all
AllowOverride All
</Directory>

注意:上面红色文字部分。在option中添加一个属性ExecCGI
4. 修改目录首页文件
在配置文件 httpd.conf 中查找 DirectoryIndex index.html 将其修改成:
DirectoryIndex index.html index.htm index.php

DirectoryIndex 指的是当客户浏览器访问的路径是一个目录时,Apache默认执行的文件。
以我们所修改的为例:当客户浏览器访问一个目录时,Apache会去找该目录下的index.html,如果没有再找index.htm,还没有再找 index.php。都找不到则默认显示该目录下的文件列表。参考文档:如果防止Apache显示文件列表
第四步:配置PHP
打开PHP安装目录,即D:\WAMP\PHP,我们可以看到目录下有两个这样的文件 php.ini-development 和 php.ini-proction,第一个是开发使用的配置文件,第二个是生产环境的配置,因为我们是在本机做开发,所以选择前者。将php.ini-development复制一份到同目录下,并改名为 php.ini。这个php.ini 就是当前使用的配置文件,以下几步都是在修改这个php.ini文件的内容。要注意的是,修改php.ini文件后需重新启动Apache服务,新设置才会生效。
1. 指定PHP扩展库的存放目录
在Windows下PHP的扩展库通常以 DLL 形式存放在PHP的ext目录中。
使用文本工具打开php.ini文件,查找extension_dir = "ext",也就是在 On windows 下面那一行。把它前面的分号“;”去除掉,改为如下:
extension_dir = "D:/WAMP/PHP/ext"

extension_dir 表示PHP扩展库的具体目录,以便调用相应的DLL文件。
2. 开启相应的扩展库
默认情况下许多PHP的扩展库都是关闭的,比如默认PHP不支持连接Mysql数据库,需开启相应的扩展库。
这里我们开启一些常用的扩展库。
查找 ; Windows Extensions(大概在941行),在它的下面是extension列表。
找到如下扩展:
;extension=php_curl.dll
;extension=php_gd2.dll
;extension=php_mbstring.dll
;extension=php_exif.dll
;extension=php_mysql.dll
;extension=php_mysqli.dll
;extension=php_pdo_mysql.dll
;extension=php_pdo_odbc.dll
;extension=php_sockets.dll
;extension=php_xmlrpc.dll
;extension=php_xsl.dll

把以上extension 前面的分号 “;” 去掉。如果你希望加载其它扩展模块,方法相同,只要去掉前面的分号即可。
提示1:重启Apache提示 “unable to load dynamic library......php_curl.dll”,加载php_curl.dll错误。解决方法是拷贝 PHP 目录下的 libeay32.dll 和 ssleay32.dll 到 windows 目录或 windows/system32 目录下,只要是系统 Path 环境变量里包含的路径就可以。如果不想拷贝,你也可以直接把 PHP 路径放到系统 Path 环境变量里。 右击我的电脑=>属性=>高级=>环境变量=>系统变量里有个Path,双击打开,把你的PHP路径加个分号“;”再前面( ;D:\WAMP\PHP ),添加进去就OK了。重启Apache不再提示该错误。
提示2:Exif 扩展是用来显示图片的 exif 信息的,因为该扩展需要 mbstring.dll 支持,所以必须将 extension=php_exif.dll 这一行写到extension=php_mbstring.dll 的后面。
提示3:如果PHP自带的扩展库不能满足你的需要,你可以去 pecl.php.net 查找并下载你需要的库。windows用户可以去 pecl4win.php.net 或者 http://downloads.php.net/pierre/ 下载已经编译好的DLL文件,也可以去http://museum.php.net/php5/ 载PECL集合压缩包。
提示4:很多人在找php_zip.dll,其实从php5.3开始已经集成了zip扩展,你可以用<?php phpinfo() ?> 找到zip扩展的说明。
3. 让PHP支持短标签
在 php.ini 配置文件查找 short_open_tag = Off (大概在266行)把它修改成:short_open_tag = On 让其支持短标签。
php的代码一般包含在<?php .... ?>的标签内,设置 short_open_tag = On 之后,可以写成更简洁的形式:<? .... ?>。
4. 配置PHP的Session功能
在使用session功能时,我们必须配置session文件在服务器上的保存目录。我们需要为session建立一个可读写的目录,这个目录最好独立于网站目录之外。
这里把目录上建在了D:\WAMP\sessiontmp,然后在 php.ini 配置文件中找 ;session.save_path = "/tmp" (大概在1467行),去掉前面的分号“;” ,改为如下:
session.save_path = "D:/WAMP/sessiontmp"

‘贰’ 如何在一台windows的服务器里安装配置PHP+MYSQL环境

php5.3以下版本的安装方法。
1、首先是下载PHP安装文件和MYSQL安装文件,不过请注意MYSQL有很多个版本,有社区版、标准版、企业版、集群版,其中只有社区版是免费的。
2、在服务器上配置好IIS,这里推荐IIS7以上版本,控制面板-打开或关闭windows功能-万维网服务-应用程序开发功能里选上对应就可安装。
3、配置php环境:把php压缩包解压到C:\php目录下面,然后找到php.ini-dist,把他更名为php.ini,
修改里面的扩展目录
extension_dir = “C:\php\ext\”。
把以下扩展前面的分号去掉以启用
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mysql.dll

fastcgi.impersonate=1 默认为0,如果使用IIS,需要开启
cgi.fix_pathinfo=1
cgi.force_redirect=0 默认开启,如果使用IIS,可以将其关闭
其次指定extension_dir目录和date.timezone,即
extension_dir = "C:/php53iis/ext"
date.timezone= Asia/Shanghai
4、然后把extension=php_mysql.dll前面的分号去掉,保存并把php.ini复制到系统Windows目录下面。
5、然后依次打开电脑(右键)->管理->服务和应用程序->Internet信息服务(IIS)管理器,打开ISAPI和CGI限制,然后添加php的ISAPI的执行文件php5isapi.dll.
6、配置Mysql:把下载的mysql文件直接安装即可,然后复制php目录下面的libmysql.dll到系统Windows下面的System32目录里。
7、重启IIS,即完工。

当然还有一种方法是使用PHP Manager,步骤大致如下:
1、下载并安装PHP Manager。
2、开启IIS,会发现里面多了一个PHP Manager图标项了。
3、下载php并解压到想要放置的位置,将php.ini-development改名为php.ini ,修改php.ini 查找data.timezone
修改为date.timezone = “Asia/Shanghai”(这里必须改,不然会出警告) ,找到Windows Extensions开启
所需模块,如:php_curl.dll php_mysql.dll php_mysqli.dll php_xmlrpc.dll
php_curl.dll,去掉前面的 分号 保存就可以了。
4、回到IIS界面,双击PHP Manager后,点击“Register new PHP
Version”,然后选择好php目录中的php-cgi.exe,然后php.ini就会为适合IIS7.5的配置默认给你生成好了。
5、在当前界面点一下“Check phpinfo()”就会出现PHPInfo页面了!

‘叁’ 在 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;

}
热点内容
上传医保局 发布:2024-11-25 14:57:00 浏览:731
刀剑神域缓存 发布:2024-11-25 14:56:07 浏览:519
c语言计算机二级编程题 发布:2024-11-25 14:46:49 浏览:311
c语言判断进程是否存在 发布:2024-11-25 14:42:50 浏览:272
大数据缓存 发布:2024-11-25 14:29:07 浏览:435
存储体与MAR 发布:2024-11-25 14:23:08 浏览:282
电脑浏览器怎么取消配置文件 发布:2024-11-25 14:20:39 浏览:163
如何消除服务器数据传输瓶颈 发布:2024-11-25 14:08:48 浏览:288
安卓开发程序如何上传到手机上 发布:2024-11-25 14:08:30 浏览:28
访客qq获取系统源码 发布:2024-11-25 14:08:30 浏览:17