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\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
推薦學習:《》
以上就是win php怎麼安裝擴充套件的詳細內容,更多請關注TW511.COM其它相關文章!