win php怎麼安裝擴充套件

2022-01-19 10:00:30

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!

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

推薦學習:《》

以上就是win php怎麼安裝擴充套件的詳細內容,更多請關注TW511.COM其它相關文章!