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拓展, 進入頁面: 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\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('127.0.0.1',11211) or die('shit'); $memcache->set('key','hello memcache!'); $out = $memcache->get('key'); echo $out; ?>
成功的话会输出
hello memcache!
下载地址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视频教程》
以上是win php怎麼安裝擴充的詳細內容。更多資訊請關注PHP中文網其他相關文章!