微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

win php怎么安装扩展<span style="font-size: 18px">windows的php7安装xdebug扩展</span>

win PHP安装扩展的方法:1、在官网下载想要的扩展;2、解压并将里面的PHP_redis.dll放到ext目录下;3、把PHP_redis.dll放到PHP.ini中指定的文件夹里面,并把redis模块加载即可。

本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑

win PHP怎么安装扩展?

windows环境下PHP安装扩展

PHP安装扩展

一、PHP扩展管理

1.什么是PHP扩展

PHP扩展就是PHP核心并不支持功能,然后可以通过扩展的方式进行扩展PHP功能,常见的扩展如MysqL,gb2等等。

2.查看PHP安装了那些扩展

方法一:通过PHPinfo()函数,进行查看,红框的都是PHP的扩展

<?PHP
PHPinfo();
?>

方法二:执行PHP -m 命令:

[root@linux-host ~]# PHP -m

  

方法三:使用PHP的get_loaded_extensions()函数

<?PHP
print_r(get_loaded_extensions());
?>

以上例程的输出类似于:

Array( [0] => xml [1] => wddx [2] => standard [3] => session [4] => posix [5] => pgsql [6] => pcre [7] => gd [8] => ftp [9] => db [10] => calendar [11] => bcmath)

方法四:extension_loaded函数检查一个扩展是否已经加载,如果 name 指定的扩展已加载,返回TRUE,否则返回 FALSE。

<?PHP
if (!extension_loaded('gd')) {
    if (!dl('gd.so')) {
        exit;
    }
}

3.管理PHP扩展

a.设定扩展所在目录,将PHP.ini的extension_dir设定成自己PHP扩展路径

b.加载扩展

二、windows安装PHP扩展

1.下载

http://pecl.PHP.net/是官方的扩展库,我们可以在这里下载自想要的扩展

所有的拓展列表: https://pecl.PHP.net/package-stats.PHP

2.选择版本

已安装redis为例:

进入redis拓展下载地址: https://pecl.PHP.net/package/redis

点击 旁边的

按钮后进入windows下载界面

安装windows的PHP扩展需要注意版本的选择:PHP的版本、是否是线性安全、操作系统的位数。

怎么查看自己环境支持的版本信息呢,可以通过PHP的内置PHPinfo()函数,进行查看:

当我们使用PHPinfo的时候,多数时候都是在看模块有没有装上,但是其他重要信息却忽略了,例如,为啥我的拓展老是装不上,下载的拓展上面一长串啥意思?nts x86 5.5等等,这些都是重要的信息,对于安装拓展来说尤其重要!

上面的几个重要参数:

compiler :编译器
Architecture :cpu架构
Configuration File (PHP.ini) Path :PHP配置文件的位置,这里才是你的配置文件加载的真正地方,apache的同学小心了!
Thread Safety :线程安全与否
PHP Extension Build :PHP拓展建立的编号

以上几个参数关系到你能不能装上拓展,要认真看!下载拓展.dll文件的时候很多选项,那里面的选项就和这里的对应!
例如下面:
随便取一个来分析下:

PHP_igbinary-1.2.1-5.3-nts-vc9-x86.zip

意思是:1.2.1版本的PHP_igbinary拓展,适合的PHP版本是5.3及以上,vc9编译的这个拓展,,不支持线程安全,可以用在x86 cpu架构上,注意64位的机器也可以用!但是反过来就不行了。

是不是清楚很多了?我是在安装redis的时候碰到这个问题的。

来继续安装redis拓展, 进入页面: https://windows.PHP.net/downloads/pecl/releases/redis/

以安装PHP-redis-3.1.3为例:

我通过PHPinfo()函数得到配置应该安装NTS, x86, VC14的dll拓展:

下载页:https://pecl.PHP.net/package/redis/3.1.3/windows

下载页: https://windows.PHP.net/downloads/pecl/releases/redis/3.1.3/

下载解压,将里面的 PHP_redis.dll 放到ext目录下,

3.安装

将下载好的压缩包解压,然后把里面的PHP_redis.dll放到PHP.ini中制定的文件夹里面,并把redis模块加载,然后从起服务器。

同理, 安装memcache:

https://windows.PHP.net/downloads/pecl/releases/memcache/3.0.8/

三、linux安装PHP扩展

1.yum或者apt-get安装

2.使用pecl安装

1)、pecl install安装

~# pecl install memcached

downloading memcached-2.2.0.tgz ...

Starting to download memcached-2.2.0.tgz (70,449 bytes)....

2)、配置PHP.ini

通过运行 PHP --ini查找PHP.ini文件位置,然后在文件添加extension=memcached.so

3.PHPize安装——以redis为例

1)、下载PHP扩展包

[root@localhost ~]# wget http://pecl.PHP.net/get/redis-4.0.0.tgz

2)、解压缩并进入扩展包目录

[root@localhost ~]# tar -xzvvf redis-4.0.0.tgz

[root@localhost redis-4.0.0]# cd redis-4.0.0

3)、执行PHPize

[root@localhost redis-4.0.0]# PHPize

4)、./configure

[root@localhost redis-4.0.0]# ./configure --with-PHP-config=/usr/bin/PHP-config

5)、make && make install

[root@localhost redis-4.0.0]# make && make install

6)、配置PHP.ini

extension=redis.so

4.直接安装(类似windows)

直接下载将下载好的压缩包,解压后将.so后缀的文件直接放到指定的路径,然后配置PHP.ini文件

PHPStudy2018 踩过的一些坑:

发现PHPStudy2018切换到PHP 7以上版本,无论怎么修改安装拓展,就是拓展都不生效,就连自带的curl都没有启来,

经过半天反复折腾PHP.ini配置,才发现PHPStudy2018的几个PHP7目录下的PHP.ini有个配置出的问题:

extension_dir = E:\PHPServer\PHPStudy2018\PHPTutorial\PHP\PHP-7.1.9-nts\ext

屏蔽到这句,改成:

;extension_dir = E:\PHPServer\PHPStudy2018\PHPTutorial\PHP\PHP-7.1.9-nts\extextension_dir = ext

查看PHPinfo函数,拓展都生效了

windows的PHP7安装memcache扩展

安装memcache:http://www.runoob.com/memcached/memcached-connection.html
启动服务:

c:\memcached\memcached.exe -d install 
c:\memcached\memcached.exe -d start 
c:\memcached\memcached.exe -d stop

启动计划任务:

schtasks /create /sc onstart /tn memcached /tr “‘c:\memcached\memcached.exe’ -m 512” 
telnet HOST PORT

window下安装PHP7的memcache扩展,结果发现PHP_memcache.dll的官方编译出来的版本支持PHP 5.6就停了,找了半天才在外国人的网站找到

https://stackoverflow.com/questions/34952502/memcache-for-PHP7-on-windows,

git下载地址:https://github.com/nono303/PHP7-memcache-dll

根据自己的PHP版本下载

下载解压后,

就到 PHP/ext 目录下 把 PHP_memcache.dll 放到里面

然后在 PHP 目录下的 PHP.ini 增加一段内容

extension=PHP_memcache.dll

加完之后,重启 apache或者Nginx

然后 在PHP页面输出PHPinfo();

检查 memcache 是否成功加载了。

如果成功加载了 ,就可以 在一个PHP页面做 memcache测试了

<?PHP
$memcache = new Memcache;
$memcache->connect('127.0.0.1',11211) or die('shit');
$memcache->set('key','hello memcache!');
$out = $memcache->get('key');
echo $out;
?>

成功的话会输出

hello memcache!

windows的PHP7安装xdebug扩展

下载地址1 https://windows.PHP.net/downloads/pecl/releases/xdebug/

假设根据上面步骤获取到 7.2 NTS, VC15 x64等信息,来下载对应的版本:

下载想要的对应版本:

下载地址2,官网下载: https://xdebug.org/download

或者点击打开 custom installation instructions. 也就是地址: https://xdebug.org/wizard 来计算出自己的电脑版本PHP对应的xdebug库版本信息:

进入页面后把 PHPinfo() 或 PHP -i 打印出来的信息全选复制进去:

最后得出的结论:

PHP_xdebug.dll 文件放入 ext 文件夹下,配置 PHP.ini, 然后重启服务器。

附: xdebug的PHP.ini配置信息:

[XDebug]
;指定Xdebug扩展文件绝对路径
zend_extension=E:\PHPServer\PHPStudy_v8\Extensions\PHP\PHP7.2.9nts\ext\PHP_xdebug.dll;指定堆栈跟踪文件的存放目录
xdebug.trace_output_dir=E:\PHPServer\PHPStudy_v8\Extensions\tmp\xdebug;是否开启远程调试
xdebug.remote_enable= on
xdebug.remote_autostart = on
xdebug.remote_mode=req
;指定远程调试的处理协议
xdebug.remote_handler=dbgp;指定远程调试的主机名
xdebug.remote_host=127.0.0.1;指定远程调试的端口号
xdebug.remote_port=9100;是否启用Xdebug的性能分析,并创建性能信息文件
;xdebug.profiler_enable=on
;xdebug.profiler_enable_trigger=0;指定性能分析信息文件输出目录
xdebug.profiler_output_dir=E:\PHPServer\PHPStudy_v8\Extensions\tmp\xdebug;指定传递给DBGp调试器处理程序的IDE Key
xdebug.idekey=PHPSTORM;启用代码自动跟踪
;xdebug.auto_trace=on
;允许收集传递给函数的参数变量
xdebug.collect_params=on
;允许收集函数调用的返回值
xdebug.collect_return=on

推荐学习:《PHP教程

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐