Maison  >  Article  >  développement back-end  >  Comment installer des extensions dans Win PHP

Comment installer des extensions dans Win PHP

藏色散人
藏色散人original
2022-01-19 09:17:504108parcourir

Comment installer des extensions dans Win PHP : 1. Téléchargez l'extension souhaitée sur le site officiel ; 2. Décompressez et placez le php_redis.dll dans le répertoire ext ; 3. Mettez php_redis.dll dans le fichier spécifié dans php.ini ; dossier et chargez le module redis.

Comment installer des extensions dans Win PHP

L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur DELL G3

Comment installer des extensions dans win php ?

Extension d'installation PHP dans l'environnement Windows

Extension d'installation PHP

1. Gestion des extensions PHP

1. Qu'est-ce que l'extension php

L'extension php est une fonction qui n'est pas prise en charge par le php core Ensuite, vous pouvez étendre les fonctions de PHP via des extensions, des extensions courantes telles que MySQL, gb2, etc.

2. Vérifiez quelles extensions sont installées dans php

Méthode 1 : Vérifiez via la fonction phpinfo()

 

Méthode 3 : utilisez la fonction get_loaded_extensions() de PHP

<?php
phpinfo();
?>

Le résultat de la routine ci-dessus est similaire à :

Array( [0] => xml [1] => wddx [2] => standard [3] => session [4] => posix [5] => [10] => calendrier [11] => bcmath)

Méthode 4 : La fonction extension_loaded vérifie si une extension a été chargée si l'extension spécifiée par son nom a été chargée, elle renvoie VRAI, sinon elle renvoie FAUX.

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

3. Gérer les extensions php

a Définissez le répertoire où se trouve l'extension et définissez le extension_dir de php.ini sur votre propre chemin d'extension php

b.

2. Extension php d'installation Windows

1. Télécharger

http://pecl.php.net/ est la bibliothèque d'extensions officielle, nous pouvons télécharger les extensions que nous voulons ici

Liste des toutes les extensions : https://pecl.php.net/package-stats.php

2. Sélectionnez la version

Redis a été installé à titre d'exemple :

Entrez l'adresse de téléchargement de l'extension redis : https : //pecl.php.net /package/redis

Cliquez sur le bouton

à côté pour accéder à l'interface de téléchargement Windows

Lors de l'installation des extensions Windows PHP, vous devez faire attention à la version sélection : version PHP, s'il s'agit de sécurité linéaire, et le numéro de bit du système d'exploitation.

Comment vérifier les informations de version prises en charge par votre environnement ? Vous pouvez les vérifier via la fonction phpinfo() intégrée à php :

Lorsque nous utilisons phpinfo, la plupart du temps nous vérifions si le module est installé, mais d'autres informations importantes sont ignorées. Par exemple, pourquoi mes extensions ne peuvent-elles pas être installées ? Que signifie la longue liste d'extensions téléchargées ? nts x86 5.5, etc. Ce sont des informations importantes, particulièrement importantes pour l'installation d'extensions !

Plusieurs paramètres importants ci-dessus :

<?php
print_r(get_loaded_extensions());
?>
Les paramètres ci-dessus sont liés à la possibilité d'installer l'extension, alors faites-y attention attentivement ! Il existe de nombreuses options lors du téléchargement du fichier d'extension .dll, et les options correspondantes correspondent à celles ici !

Par exemple :

Choisissez-en une et analysez-la :

<?php
if (!extension_loaded(&#39;gd&#39;)) {
    if (!dl(&#39;gd.so&#39;)) {
        exit;
    }
}

Cela signifie : extension php_igbinary de la version 1.2.1. La version php appropriée est 5.3 et supérieure. Cette extension compilée par vc9 ne prend pas en charge la sécurité des threads et peut être utilisée dans. Sur une architecture CPU x86, notez que des machines 64 bits peuvent également être utilisées ! Mais l’inverse n’est pas possible.

Est-ce beaucoup plus clair ? J'ai rencontré ce problème lors de l'installation de Redis.

Pour continuer l'installation de l'extension redis, entrez dans la page : https://windows.php.net/downloads/pecl/releases/redis/

Prenez l'installation de php-redis-3.1.3 comme exemple :

Je passe phpinfo() Pour configurer la fonction, les extensions dll NTS, x86 et VC14 doivent être installées :

Page de téléchargement : 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\ext"extension_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(&#39;127.0.0.1&#39;,11211) or die(&#39;shit&#39;);
$memcache->set(&#39;key&#39;,&#39;hello memcache!&#39;);
$out = $memcache->get(&#39;key&#39;);
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视频教程

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn