和curl.金沙js娱乐场官方网站:h两个文件,用HTTP头信息进行PHP重定向到另外一个页面的方法如下

makephp要求curl的目录要有include和lib目录,cd curl,php 要求curl的目录要有include和lib目录,所以要copy到lib目录,用HTTP头信息进行PHP重定向到另外一个页面的方法如下,也就是用PHP的HEADER函数,不需要另外下载这些模块就可以直接安装,这些模块则需要从网上下载后然后再安装,3、curl

CentOS中PHP如何安装curl扩展方法

如果php已经在系统编译好,后来又需要添加新的扩展。一种方式就是重新完全编译php,另一种方式就是单独编译扩展库,以extension的形式扩展。下面以安装curl扩展为例:1、下载curl安装包。(我的php是4.4.4的,下载最新的curl
7.16
不能使用,最后下载7.14的才可以,所以要注意一下版本问题)./configure
makephp要求curl的目录要有include和lib目录,并且include下要有easy.h
和curl.h两个文件,lib下要有libcurl.a。经编译后include下的文件有了,但是lib目录下没有。原来生成到lib/.libs目录下,所以要copy到lib目录。2、进入安装原php的源码目录,cd
ext
cd curl
phpize
./configure –with-curl=DIR
make就会在PHPDIR/ext/curl/moudles/下生成curl.so的文件。3、复制curl.so文件到extensions的配置目录,修改php.ini就好。

如果php已经在系统编译好,后来又需要添加新的扩展。一种方式就是重新完全编译php,另一种方式就是单独…

一种方式就是重新完全编译php,另一种方式就是单独编译扩展库,以extension的形式扩展。

一.请求重定向

首先进行相关的说明
a.安装PHP时,有些模块是php自带的(如shmop,curl,mhash,mcrypt,iconv不需要另外下载这些模块就可以直接安装,php自身包含这些模块的源码,但是有可能需要下载依赖包,比如libiconv),有些不是php自带的(如eAccelerator,APC,memcache,这些模块则需要从网上下载后然后再安装,此时一般用DSO方式安装(phpize))

我在安装magento的时候遇到了系统需要的扩展没有安装

下面以安装curl扩展为例:

1、用HTTP头信息

比如安装php时有个配置选项./configure
–with-iconv-dir=/usr/local,这句话的意思是在/usr/local目录查找lib子目录及include子目录,因为要需要用到那两个目录下面的库文件(lib目录)及头文件(include目录)
[root@CentOS_Test_Server ext]# ls /usr/local/lib/*iconv*
/usr/local/lib/libiconv.la  /usr/local/lib/libiconv.so.2     
/usr/local/lib/preloadable_libiconv.so
/usr/local/lib/libiconv.so  /usr/local/lib/libiconv.so.2.5.0

1、mcrypt
2、pdo_mysql
3、curl
…..
其实,基本上大部分扩展 在php的源码安装包里面都是有的(在ext/里面的).
添加扩展的基本步骤:
1、进入到安装包文件夹你要添加的扩展ext/../里面.比如要添加mcrypt扩展,就进入ext/mcrypt里面。example:[root@localhost
~]# cd /usr/local/src/php-5-2-13/mcrypt/
2、调用你已经编译好的php里面的phpize.example:[root@localhost mcrypt]#
/usr/local/php/bin/phpize
3、然后configure. example:[root@localhost mcrypt]# ./configure
–with-php-config=/usr/local/php/bin/php-config
4、make ,make install
5、 修改 php.ini
加入
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/扩展名
     example:
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/mcrypt.so
6、重启apache (apache/bin/apachectl -k restart)

1、下载curl安装包。(我的php是4.4.4的,下载最新的curl 7.16
不能使用,最后下载7.14的才可以,所以要注意一下版本问题)

也就是用PHP的HEADER函数。PHP里的HEADER函数的作用就是向浏览器发出由HTTP协议规定的本来应该通过WEB服务器的控制指令,例如声明返回信息的类型(“Context-type:
xxx/xxx”),页面的属性(“No cache”, “Expire”)等等。

虽然在php的源代码目录下有iconv的子目录,但是仍然要依赖其它的库函数及头文件,如果没有,则必须提前安装
[root@CentOS_Test_Server ext]# pwd
/home/software/php-5.2.8/ext
[root@CentOS_Test_Server ext]# ll iconv/
total 324
-rw-r–r– 1 1002 1002   4601 Mar  1  2007 config.m4
-rw-r–r– 1 1002 1002    749 Nov 23  2004 config.w32
-rw-r–r– 1 1002 1002     52 Feb  5  2003 CREDITS
-rw-r–r– 1 1002 1002  73004 Dec 31  2007 iconv.c
-rw-r–r– 1 1002 1002   4687 Jan 17  2004 iconv.dsp
-rw-r–r– 1 root root    305 Apr 30 20:55 iconv.lo
-rw-r–r– 1 root root 101304 Apr 30 20:55 iconv.o
-rw-r–r– 1 root root      1 Apr 30 20:49 php_have_bsd_iconv.h
-rw-r–r– 1 root root     27 Apr 30 20:49 php_have_glibc_iconv.h
-rw-r–r– 1 root root      1 Apr 30 20:49 php_have_ibm_iconv.h
-rw-r–r– 1 root root     21 Apr 30 20:49 php_have_iconv.h
-rw-r–r– 1 root root      1 Apr 30 20:49 php_have_libiconv.h
-rw-r–r– 1 1002 1002     95 Aug  5  2004 php_iconv.def
-rw-r–r– 1 1002 1002   3631 Dec 31  2007 php_iconv.h
-rw-r–r– 1 root root     31 Apr 30 20:49
php_iconv_supports_errno.h
-rw-r–r– 1 root root     54 Apr 30 20:49 php_php_iconv_h_path.h
-rw-r–r– 1 root root     31 Apr 30 20:49 php_php_iconv_impl.h
drwxr-xr-x 2 1002 1002   4096 Dec  8  2008 tests

大功告成!

./configure
make

用HTTP头信息进行PHP重定向到另外一个页面的方法如下:

下面的php手册上的相关说明
To use shmop you will need to compile PHP with the –enable-shmop
parameter in your configure line.

注:pdo_mysql扩展安装的配置参数
./configure –with-php-config=/usr/local/php5/bin/php-config
–with-pdo-mysql=/usr/local/mysql

php 要求curl的目录要有include和lib目录,并且include下要有easy.h
和curl.h两个文件,lib下要有libcurl.a。经编译后include下的文件有了,但是lib目录下没有。原来生成到lib/.libs目
录下,所以要copy到lib目录

  1. <?php 
  2. $url = “www.baidu.com”;
     
  3. if (!empty($url))  
     
  4. {  
     
  5.     Header(“HTTP/1.1 303 See Other”); //这条语句可以不写
     
  6.     Header(“Location: $url”);
     
  7. }  
     
  8. ?>  
     

To use PHP’s cURL support you must also compile PHP –with-curl[=DIR]
where DIR is the location of the directory containing the lib and
include directories. In the “include” directory there should be a folder
named “curl” which should contain the easy.h and curl.h files. There
should be a file named libcurl.a located in the “lib” directory.
Beginning with PHP 4.3.0 you can configure PHP to use cURL for URL
streams –with-curlwrappers.

还有另一种方法

2、进入安装原php的源码目录,

注意一下,”Localtion:”后面有一个空格。

php的扩展模块目录是怎么规则的呢,我想应该是跟phpize命令有些关系,phpize命令的输出中有20060613,也就是执行phpize命令的时间,然后我们看到生成的扩展模块目录中含有20060613
[root@localhost memcache-2.2.5]#
/usr/local/webserver/php/bin/phpize
Configuring for:
PHP Api Version:         20041225
Zend Module Api No:      20060613
Zend Extension Api No:   220060519

本次编译只是单独编译php的扩展库,然后将编译好的php扩展库加到现在运行的php中,不对现在运行的php重新编译,所以对现在运行的php没有任何影响。

cd ext
cd curl
phpize
./configure –with-curl=DIR
make

2、用HTML标记PHP重定向 

Installing shared extensions:    
/usr/local/webserver/php/lib/php/extensions/no                                             
-debug-non-zts-20060613/

假如原先编译的php目录在/usr/local/php4目录下;apache在/usr/local/apache2目录下;php源代码在/home/php-4.4.7目录下。如果实际目录与假定的目录不一致,则在下面的命令中做调整。

就会在PHPDIR/ext/curl/moudles/下生成curl.so的文件。

用HTML标记,就是用META的REFRESH标记,举例如下:

手工修改:查找/usr/local/webserver/php/etc/php.ini中的extension_dir
= “./”
  修改为extension_dir =
“/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20060613/”

  1. 找到当前运行的php版本的源代码目录,如
    php-4.4.7。进入curl扩展库目录。
    $cd /home/php-4.4.7/ext/curl

  2. 调用phpize程序生成编译配置文件。
    $/usr/local/php4/bin/phpize

  3. 编译扩展库,分别执行下面的configure和make命令。
    $./configure -with-php-config=/usr/local/php4/bin/php-config
    ##configure这一步执行通过后,再执行make命令,如果configure执行不通过,则查找错误原因。
    $make
    ##make成功执行后,生成的扩展库文件在当前目录的 modules 子目录下,
        如 /home/php-4.4.7/ext/curl/modules/curl.so

  4. 配置php.ini文件
    ##将编译好的扩展库文件复制到apache2 modules目录下。
    $cp /home/php-4.4.7/ext/curl/modules/curl.so
    /usr/local/apache2/modules/.
    ##可以通过查看phpinfo信息来确定php.ini文件位置,然后编辑。
    ##在php.ini文件中找到设置扩展目录的位置,然后将扩展路径设置到apache2
    modules目录下。
       extension_dir = “/usr/local/apache2/modules/”
    ##在php.ini的添加扩展库位置,设置要添加的扩展库。
       extension=curl.so
    ##以后如果还要添加别的扩展库的话,则只需先将php扩展库编译好,然后copy到apache2
    modules目录下,
    ##然后再在这个位置,添加一行将编译后的扩展库文件名加上即可。

  5. 重启apache,查看phpinfo信息,即可看到刚才添加进去的curl扩展库。