Windows下PHP安装配置PEAR的方法

 更新时间:2016年11月25日 15:28  点击:2404
PEAR是PHP扩展与应用库(the PHP Extension and Application Repository)的缩写。PEAR库更新很快,它是一个强大的代码仓库,每个PHP程序员都应该掌握的工具。

Windows下PHP PEAR安装:
(1)下载go-pear.phpar到PHP安装目录 
官方下载:http://pear.php.net/go-pear.phar
Windows下PHP PEAR安装步骤1
(2)PEAR安装流程
①执行php go-pear.phar 
Windows下PHP PEAR安装步骤2
请选择local,因为system可能没有写入权限,然后选择yes
②选择同意修改php.ini
Windows下PHP PEAR安装步骤3
③安装php扩展
Windows下PHP PEAR安装步骤4
④进入下载目录,引入php扩展即可使用。
Windows下PHP PEAR安装步骤5Linux下安装PEAR

①.下载pear包:
 wget http://pear.php.net/go-pear.phar
可能这个不是最新的,那就要根据提示下载更新的了。


②.执行:php go-pear.phar 

由于要使用mikoomi mongodb plugin插件,所以需要php对mongodb的扩展支持,默认通过源安装的php并没有mongodb的扩展支持,具体可以通过php -m|grep mongo 验证 。这里就结合phpize提供的动态扩展功能进行mongodb的扩展。

一、php mongo模块的编译

先从 http://pecl.php.net/package/mongo 下载目前的stable稳定版 ,目前的最新稳定版本是1.5.2 , 安装步骤如下:

 代码如下 复制代码
# wget http://pecl.php.net/get/mongo-1.5.2.tgz
# tar zxvf mongo-1.5.2.tgz
# cd mongo-1.5.2
# /usr/bin/phpize
# ./configure –with-php-config=/usr/bin/php-config
# make && make install

注:没有 phpize 工具时 ,可以通过yum -y install php-devel 安装后就会有该工具 。

二、php的扩展配置

完成后在/etc/php.ini中添加如下内容:

 代码如下 复制代码
extension=mongo.so

完成后,再使用php -m查看,发现报错:

 代码如下 复制代码
# php -m|grep mongo
/usr/lib64/php/modules/mongo.so: undefined symbol: php_json_encode in Unknown on line 1

经网上查询发现是需要对 json.so 模块依赖,经查看/usr/lib64/php/modules/目录下已经存在json.so模块 。即然存在报错的原因是因为json.so在mongo.so之后才加载的  。在/etc/php.ini中查找了下json的配置,发现不存在。在/etc/php.d目录找到了json.ini文件 。

 代码如下 复制代码
# cat /etc/php.d/json.ini
; Enable json extension module
extension=json.so

知道了原因 ,也依葫芦画瓢 ,将刚刚在/etc/php.ini中的mongo配置删除 ,在/etc/php.d/目录下新增mongo.ini ,内容为extension=mongo.so ,配置完成后再使用php -m|grep mongo检测发现正常  。

注:这里网上也有一些方法是通过将/etc/php.d/json.ini文件删除,在/etc/php.ini文件中将json模块的配置加到mongo模块配置之前 。该方法虽然也可以,不过不推荐,因为我上面的方法自动会查看各模块之间的依赖关系 ,再决定加载的先后顺序 。如果遇到其他模块存在该情况时,同样可以自动解决掉。

下面来给大家分析三种在家linux中给php添加扩展的方法,具体的不说多了我们直接看教程即可,希望例子对各位同学会带来帮助哦。

例子

(1).重新编译一遍PHP(这种方法要编译的东西比较多,因此比较费时),

(2).单独编译FTP扩展然后配置php支持该扩展(这种方式比较省时,因此选用这种方式进行)

(1).解压PHP源码

tar xvf php-5.3.5.tar.bz2

cd php-5.3.5

(2).进入ftp扩展目录编译

cd ext/ftp

(3).运行phpize,为PHP扩展编译做准备

$PREFIX/php/bin/phpize

(4).配置ftp扩展(php-config是获取PHP环境的命令)

./configure --with-php-config=$PREFIX=/php/bin/php-config

(5).编译和安装

make && make install

说明:安装好后会显示扩展安装到的目录,如

$PREFIX/php/lib/php/extensions/no-debug-zts-20090626/

(6).配置php.ini加入:

extension_dir=$PREFIX/lib/php/extensions/no-debug-zts-20090626

extension=ftp.so

(7).重启Apache服务器即可生效

service httpd restart

例子 hpize 命令是用来准备 PHP 外挂模块的编译环境的。下面例子中,外挂模块的源程序位于 extname 目录中:

$ cd extname

$ phpize

$ ./configure (注一)

$ make

$ make install

成功的安装将建立 extname.so 并放置于 PHP 的外挂模块目录中 (预设存放于 /usr/lib/php/modules/ 内) 。

需要调整 php.ini,加入 extension=extname.so 这一行之后才能使用此外挂模块。


编译添加扩展

编译PHP所需要的支持
yum install gcc
yum install libxml2-devel curl-devel libjpeg libjpeg-devel libpng-devel freetype-devel.x86_64 mysql-devel
yum install freetype-devel.x86_64  freetype.x86_64
yum install libjpeg libjpeg-devel

下载PHP:wget http://us1.php.net/distributions/php-5.3.28.tar.bz2

tar -jxf php-5.3.28.tar.bz2
cd php-5.3.28

./configure  –prefix=/usr/local/php-5.3.28  –enable-fpm  –with-mysql  –with-zlib  –with-config-file-path=/usr/local/php5.3.28/etc  –with-pdo-mysql   –with-libdir=lib64 –with-gd –with-jpeg-dir=/usr/lib –with-png-dir=/usr/lib –enable-mbstring –enable-gd-native-ttf –enable-xml  –with-freetype-dir –with-curl  –enable-ftp  –enable-zip –with-mcrypt  –enable-mbstring  –enable-json

 

出现失败

checking for alloca… (cached) yes
checking for 8-bit clean memcmp… yes
checking for stdarg.h… (cached) yes
checking for mcrypt support… yes
configure: error: mcrypt.h not found. Please reinstall libmcrypt

rpm -qa | grep libmcrypt
libmcrypt-2.5.7-5.el5
libmcrypt-2.5.8-4.el5.centos

有但是失败,上面的是用yum安装,不对,难道需要去下载包编译??试试呗:

wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/attic/libmcrypt/libmcrypt-2.5.7.tar.gz 安装:
tar -zxvf libmcrypt-2.5.7.tar.gz
cd libmcrypt-2.5.7
./configure
make
make install

Composer是PHP中用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer会帮你安装这些依赖的库文件,下面我们一起来看composer安装方法

下午在安装 Laravel 框架过程中,遇到了不少问题,因为 Laravel 的安装依赖于 composer,这里就先介绍一下 composer 的安装方法:

安装方法:

 代码如下 复制代码

#下载
sudo curl -sS https://getcomposer.org/installer | sudo php -d detect_unicode=Off

#更改文件权限
sudo chmod a+x composer.phar 

#移动文件
sudo chmod a+x composer.phar

#更新
sudo composer self-update这样就可以使用 composer 了。
[root@localhost www.111cn.net]# composer
Zend Guard Loader requires Zend Engine API version 220090626.
The Zend Engine API version 220121212 which is installed, is newer.
Contact Zend Technologies at http://www.zend.com/ for a later version of Zend Guard Loader.

   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ / __ `__ / __ / __ / ___/ _ / ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
____/____/_/ /_/ /_/ .___/____/____/___/_/
                    /_/
Composer version aa9c257f0efd1a54c93ba95282821a497bc15d75 2014-03-09 15:09:15

Usage:
  [options] command [arguments]

Options:
  --help           -h Display this help message.

如果我们需要安培Laravel4的话最php最低要求要在php5.3.7版本并且我们需要把mcrypt与openss这两个扩展开启才可以,具体步骤我们参考下文。


前面我们介绍我了 composer安装,这里我们接着来介绍 Laravel框架的安装。

这里我们安装的是laravel 4

项目下载地址:https://github.com/laravel/laravel

安装要求:

1、PHP最低版本:5.3.7

2、支持 mcrypt 扩展

3、支持 openssl 扩展

另外,需要支持 proc_open、proc_get_status函数,自己在安装过程中,因为不支持这2个函数,安装报错失败了

 代码如下 复制代码

[Symfony\Component\Process\Exception\RuntimeException]                                  
The Process class relies on proc_open, which is not available on your PHP installation.

[ErrorException]                                         
proc_get_status() has been disabled for security reasons 

可以通过php配置文件中的disable_functions查看是否支持这2个函数。
进入正题,Laravel安装方法:

1、下载安装包,解压

2、进入解压目录,执行命令

composer install  安装过程中会下载一些框架核心包,慢慢等待即可。

安装完成后通过URL地址访问:

 laravel

这里需要提醒一下:要把域名解析到public目录,才可以正常访问

 代码如下 复制代码

listen       80;
server_name www.111cn.net;
index index.html index.htm index.php default.html default.htm default.php;
root  /home/wwwroot/www.laravel.com/public;

一开始时自己把域名解析到 /home/wwwroot/www.111cn.net 目录,通过域名范围后报404错误

不加--prefer-dist的话安装下来有100多M

composer create-project laravel/laravel . --prefer-dist

[!--infotagslink--]

相关文章

  • Windows VPN服务器配置图文教程 超详细版

    VPN可以虚拟出一个专用网络,让远处的计算机和你相当于处在同一个局域网中,而中间的数据也可以实现加密传输,用处很大,特别是在一些大公司,分公司处在不同的区域。...2016-01-27
  • php 中file_get_contents超时问题的解决方法

    file_get_contents超时我知道最多的原因就是你机器访问远程机器过慢,导致php脚本超时了,但也有其它很多原因,下面我来总结file_get_contents超时问题的解决方法总结。...2016-11-25
  • Laravel4安装配置的方法

    如果我们需要安培Laravel4的话最php最低要求要在php5.3.7版本并且我们需要把mcrypt与openss这两个扩展开启才可以,具体步骤我们参考下文。 前面我们介绍我了 com...2016-11-25
  • HTTP 408错误是什么 HTTP 408错误解决方法

    相信很多站长都遇到过这样一个问题,访问页面时出现408错误,下面一聚教程网将为大家介绍408错误出现的原因以及408错误的解决办法。 HTTP 408错误出现原因: HTT...2017-01-22
  • Android子控件超出父控件的范围显示出来方法

    下面我们来看一篇关于Android子控件超出父控件的范围显示出来方法,希望这篇文章能够帮助到各位朋友,有碰到此问题的朋友可以进来看看哦。 <RelativeLayout xmlns:an...2016-10-02
  • php抓取网站图片并保存的实现方法

    php如何实现抓取网页图片,相较于手动的粘贴复制,使用小程序要方便快捷多了,喜欢编程的人总会喜欢制作一些简单有用的小软件,最近就参考了网上一个php抓取图片代码,封装了一个php远程抓取图片的类,测试了一下,效果还不错分享...2015-10-30
  • ps把文字背景变透明的操作方法

    ps软件是现在非常受大家喜欢的一款软件,有着非常不错的使用功能。这次文章就给大家介绍下ps把文字背景变透明的操作方法,喜欢的一起来看看。 1、使用Photoshop软件...2017-07-06
  • intellij idea快速查看当前类中的所有方法(推荐)

    这篇文章主要介绍了intellij idea快速查看当前类中的所有方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-09-02
  • Windows批量搜索并复制/剪切文件的批处理程序实例

    这篇文章主要介绍了Windows批量搜索并复制/剪切文件的批处理程序实例,需要的朋友可以参考下...2020-06-30
  • Mysql select语句设置默认值的方法

    1.在没有设置默认值的情况下: 复制代码 代码如下:SELECT userinfo.id, user_name, role, adm_regionid, region_name , create_timeFROM userinfoLEFT JOIN region ON userinfo.adm_regionid = region.id 结果:...2014-05-31
  • js导出table数据到excel即导出为EXCEL文档的方法

    复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta ht...2013-10-13
  • js基础知识(公有方法、私有方法、特权方法)

    本文涉及的主题虽然很基础,在许多人看来属于小伎俩,但在JavaScript基础知识中属于一个综合性的话题。这里会涉及到对象属性的封装、原型、构造函数、闭包以及立即执行表达式等知识。公有方法 公有方法就是能被外部访问...2015-11-08
  • mysql 批量更新与批量更新多条记录的不同值实现方法

    批量更新mysql更新语句很简单,更新一条数据的某个字段,一般这样写:复制代码 代码如下:UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value';如果更新同一字段为同一个值,mysql也很简单,修改下where即...2013-10-04
  • ps怎么制作倒影 ps设计倒影的方法

    ps软件是一款非常不错的图片处理软件,有着非常不错的使用效果。这次文章要给大家介绍的是ps怎么制作倒影,一起来看看设计倒影的方法。 用ps怎么做倒影最终效果&#819...2017-07-06
  • c#中分割字符串的几种方法

    单个字符分割 string s="abcdeabcdeabcde"; string[] sArray=s.Split('c'); foreach(string i in sArray) Console.WriteLine(i.ToString()); 输出下面的结果: ab de...2020-06-25
  • PHP 验证码不显示只有一个小红叉的解决方法

    最近想自学PHP ,做了个验证码,但不知道怎么搞的,总出现一个如下图的小红叉,但验证码就是显示不出来,原因如下 未修改之前,出现如下错误; (1)修改步骤如下,原因如下,原因是apache权限没开, (2)点击打开php.int., 搜索extension=ph...2013-10-04
  • 安卓手机wifi打不开修复教程,安卓手机wifi打不开解决方法

    手机wifi打不开?让小编来告诉你如何解决。还不知道的朋友快来看看。 手机wifi是现在生活中最常用的手机功能,但是遇到手机wifi打不开的情况该怎么办呢?如果手机wifi...2016-12-21
  • 连接MySql速度慢的解决方法(skip-name-resolve)

    最近在Linux服务器上安装MySql5后,本地使用客户端连MySql速度超慢,本地程序连接也超慢。 解决方法:在配置文件my.cnf的[mysqld]下加入skip-name-resolve。原因是默认安装的MySql开启了DNS的反向解析。如果禁用的话就不能...2015-10-21
  • js控制页面控件隐藏显示的两种方法介绍

    javascript控制页面控件隐藏显示的两种方法,方法的不同之处在于控件隐藏后是否还在页面上占位 方法一: 复制代码 代码如下: document.all["panelsms"].style.visibility="hidden"; document.all["panelsms"].style.visi...2013-10-13
  • C#方法的总结详解

    本篇文章是对C#方法进行了详细的总结与介绍,需要的朋友参考下...2020-06-25