搜索
首页php教程php手册debian下安装php的一些扩展geoip,mongo,redis,libevent,proctitl

因为项目的关系,需要安装一些新的扩展 debian xfce 7.2 x64 下面3个都是通过apt-get安装的。 PHP 5.4.4-14deb7u5 (cli) nginx1.2.1 apache 2.2.22 1: 通过默认的方法安装(最优),大部分常用的都在debian的仓库里面,可以下载到注意,#是代表root 可通过su -

因为项目的关系,需要安装一些新的扩展

debian xfce 7.2 x64   下面3个都是通过apt-get安装的。

PHP 5.4.4-14+deb7u5 (cli)

nginx1.2.1

apache 2.2.22

1: 通过默认的方法安装(最优),大部分常用的都在debian的仓库里面,可以下载到  注意,#是代表root 可通过su - 输入密码后进入root

#apt-get install php5-geoip
#apt-get install php-apc
#apt-get install libevent-dev

2:通过pecl 安装(其次)
#pecl install mongo
#pecl install channel://pecl.php.net/libevent-0.1.0
#pecl install channel://pecl.php.net/proctitle-0.1.2
#pecl install inotify
#pecl install yaf


pecl 安装完后,需要做几个事情,一个是把 对应的so文件加到对应的ini,其次是把ini链接到conf.d

比如上面的3个扩展,pecl后 

在debian的

/usr/lib/php5/20100525/mongo.so
/usr/lib/php5/20100525/libevent.so
/usr/lib/php5/20100525/proctitle.so
/usr/lib/php5/20100525/inotify.so
/usr/lib/php5/20100525/yaf.so



php5在/etc/php5 执行下面的shell命名,这是建立一些配置文件,debian的php的php.ini 把配置文件分散到了/etc/php5/conf.d, 而conf.d 的内容都来自/etc/php5/mods-available/ 为了debian包的严谨,我们这里就作两次链接,而不是直接去conf.d 建对应的.ini 文件.

#echo "extension=mongo.so" > /etc/php5/mods-available/mongo.ini
#echo "extension=libevent.so" > /etc/php5/mods-available/libevent.ini
#echo "extension=proctitle.so" > /etc/php5/mods-available/proctitle.ini
#echo "extension=inotify.so" > /etc/php5/mods-available/inotify.ini
#echo "extension=yaf.so" > /etc/php5/mods-available/yaf.ini
#ln -s /etc/php5/mods-available/mongo.ini /etc/php5/conf.d/mongo.ini
#ln -s /etc/php5/mods-available/libevent.ini /etc/php5/conf.d/libevent.ini
#ln -s /etc/php5/mods-available/proctitle.ini /etc/php5/conf.d/proctitle.ini
#ln -s /etc/php5/mods-available/inotify.ini /etc/php5/conf.d/inotify.ini
#ln -s /etc/php5/mods-available/yaf.ini /etc/php5/conf.d/yaf.ini

重启下nginx的php5-fcgi or apache,可以看到这些模块已经加载成功


3:通过扩展的源码安装(编译安装,对于debian不是很推荐,前提是仓库没有) 安装的是php-redis 扩展

(redis server需要你自己安,编译的环境这些软件参考我前面的文章安装就行了,gcc之类的

#wget https://redis.googlecode.com/files/redis-2.6.14.tar.gz
#tar -zxvf redis
#make

#tar -zxvf nicolasff-phpredis-2.1.3-124-gd4ad907.tar.gz
#cd nicolasff-phpredis-00233a3
#phpize
#./configure --with-php-config=/usr/bin/php-config
#make && make install
#echo "extension=redis.so" > /etc/php5/mods-available/redis.ini
#ln -s /etc/php5/mods-available/redis.ini /etc/php5/conf.d/redis.ini

同上,需要重启server


4:通过php源码安装(开关某些php默认安装了但是关闭的扩展,这里我们要开启的是pcntl)

#mkdir php
#cd php
#apt-get source php5

  这里我们进去 php5-(版本号)/ext/pcntl 
#cd php5-5.4.4/ext/pcntl
#phpize
#./configure
#make && make install
#echo "extension=pcntl.so" > /etc/php5/mods-available/pcntl.ini
#ln -s /etc/php5/mods-available/pcntl.ini /etc/php5/conf.d/pcntl.ini

同上,重启server就可以了
如果php报错,PHP Warning: Module ‘pcntl’ already loaded in Unknown on line 0
那就说明已经装上了,现在是重复装的,需要把上面添加的两个pcntl.ini文件删除掉。 然后去把php.ini 文件里面的
disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,

加  ; 注释掉。重启server就可以了, 注意,php.ini 在apache2,nginx里面都不同的, apache2的在/etc/php5/apache2/php.ini  nginx我指定的是cgi里面的/etc/php5/cgi/php.ini 
看你server用的哪个,就去注释掉哪个就可以了




5. 通过git clone来安装uv(需要你有git环境)



#git clone https://github.com/chobie/php-uv.git --recursive
#cd php-uv
#cd libuv && make
#cd ..
#phpize
#./configure

如果phpize报错说找不到config.m4 说明你用的是64位的, 需要执行下面的几个步骤

#make clean 
#cd ./libuv
#make clean

然后修改下php-uv/libuv/Makefile 

#vim Makefile

大概是改27行的位置, 加上-fPIC

ifdef MSVC
uname_S := MINGW
endif

CPPFLAGS += -Iinclude -Iinclude/uv-private -fPIC

CARES_OBJS =
CARES_OBJS += src/ares/ares__close_sockets.o
重新执行前面的
#make
#cd ..
#phpize
#./configure
#make && make install 

即可, 然后就

#echo "extension=uv.so" > /etc/php5/mods-available/uv.ini
#ln -s /etc/php5/mods-available/uv.ini /etc/php5/conf.d/uv.ini

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中