本文目錄一覽:
- 1、windows sever2016怎麼安裝swoole
- 2、php代碼在WSL系統上運行swoole 擴展.還需要安裝搭建伺服器嗎?
- 3、很多人問為什麼swoole不支持php
- 4、在 swoole 裡面 swoole\coroutine\redis 沒有發現怎麼回事
windows sever2016怎麼安裝swoole
1.1、打開下載好的cygwin安裝包,開始安裝cygwin。
1.1.1、一直下一步,下一步到選擇cygwin的安裝目錄(這個同時也會是swoole的安裝目錄):
1.1.2、選擇文件包下載的存放位置:
1.1.3、選擇(所要連接的)伺服器(用於後續下載文件):
此處需要選擇一個伺服器,之後就是從該伺服器下載對應的安裝所需的模塊文件了。
因此,此處如果選擇的伺服器不合適的話,儘管你的網路本身速度很快,但是此處下載速度很慢。
所以,此處需要選擇一個速度比較快的伺服器。
對於國內來說,連接很多國外的伺服器,速度一般都很慢。
不過,目前已經的,口碑較好的,速度較快的伺服器,是近幾年剛出現的163的伺服器。
所以,此處對於多數人,最好的選擇就是選擇163的伺服器。
此處,我這裡,由圖可見,已經默認選擇好了163的伺服器,所以不需要額外設置了。
如果你的選擇其他的伺服器,而且伺服器列表中也找不到163的話,那麼可以自己手動添加:
在Use URL處,輸入:
1.1.4、選擇安裝的軟體包,這裡需要安裝gcc、php、php開發工具、autoconf、pcre-devel,其它默認,這裡注意的是,在上方的搜索欄搜索後,在下邊找到對應的軟體包選中,點擊下一步按鈕開始安裝。(注意:下方的截圖是我安裝後界面,點擊的位置一樣,後邊的圖標可能不一樣哦)
1.1.5、然後就是下一步下一步直到Cygwin安裝完成。
2、安裝swoole
2.1、解壓swoole的源程序到Cygwin的項目根目錄(如:/home/project)。
可以直接把壓縮包放到/home/project目錄下,右鍵解壓,也可以用命令執行,隨你。圖方便,這裡我直接使用右鍵方式解壓。(命令解壓:tar -zcvf file swoole-src-1.8.11-rc1.tar.gz)
2.2、打開Cygwin軟體(注意:要是你的Cygwin也安裝在C盤,那你得注意了,安裝swoole的時候有可能報錯,解決辦法是右鍵管理員身份打開Cygwin)。
2.3、此時的環境就好似linux的終端,而根目錄就是Cygwin的安裝目錄,在界面輸入命令:cd /home/project/swoole,其中swoole是解壓的源程序。
2.4、輸入命令:phpize,生成編譯的配置文件configure。
2.5、輸入命令:./configure make make install
配置、編譯、編譯安裝swoole
(PS:執行./configure,除了編譯配置,還會檢測環境等等)
2.6、使用命令: php -i | grep php.ini,找到php cli使用的配置文件php.ini的路徑。
2.7、修改php.ini文件,在文件中添加一行:extension=swoole.so。
(PS: 1. 如果對linux下的vi編輯器不熟悉,可以在Windows下打開php.ini文件;2. 因為swoole已經改變了php的編程方式,所以建議關閉配置文件中的除swoole擴展之外的其它所有擴展,方法是在其前面加上「;」英文分號)。
2.7.1、linux下的vi編輯器。
2.7.2、手動打開修改。
2.8、關閉退出。
2.9、使用命令:php -m,查看載入的模塊,如果看到swoole,則擴展添加成功,到此環境搭建成功!
環境測試
1、在源程序中有一個examples文件夾,裡邊是一些范常式序,我們這裡以運行一個http伺服器做示範,進入到http范常式序目錄,在Cygwin中輸入命令:php server.php,因為http伺服器的范常式序是放在http目錄中的,用命令運行這個范常式序
2、打開瀏覽器,在地址欄輸入:127.0.0.1:9501,回車顯示Hello swoole,成功!
總結分析
1、此方法雖然可以在Windows下成功搭建swoole,但是php版本最高也就5.4,對於項目php版本需求高於5.4的就沒法使用了。這裡是不是可以對其php版本升級呢?本人還沒有嘗試過,待後續…。如果有哪位大神成功升級,望留言說明方法以及提供建議,以此使我以及大眾少走彎路,不勝感激。
2、搭建成功後會生成自己的一個類似PphStudy環境的「IBOS控制中心」,運行swoole的時候得用這個環境運行,不需要再安裝別的php環境。
3、生成很多自帶無用的表,看著不太舒服。資料庫表也不好操作,本人還是習慣用navicat。
php代碼在WSL系統上運行swoole 擴展.還需要安裝搭建伺服器嗎?
swoole擴展是PHP擴展。php swoole擴展,PHP語言的高性能網路通信框架,提供了PHP語言的非同步多線程伺服器,非同步TCP/UDP網路客戶端,非同步MySQL,資料庫連接池,AsyncTask,消息隊列,毫e799bee5baa6e58685e5aeb931333363383433秒定時器,非同步文件讀寫,非同步DNS查詢。
1、下載swoole源碼包
[root@nginx ~]# wget
2、解壓進入swoole文件夾
[root@nginx ~]# tar -zxvf swoole-1.7.17-stable
[root@nginx ~]# cd swoole-src-swoole-1.7.17-stable/
3、編譯安裝swoole
[root@nginx swoole-src-swoole-1.7.17-stable]# phpize
[root@nginx swoole-src-swoole-1.7.17-stable]# ./configure
[root@nginx swoole-src-swoole-1.7.17-stable]# make make install
4、php.ini配置文件載入swoole.so模塊
[root@nginx swoole-src-swoole-1.7.17-stable]# vi /usr/local/php/lib/php.ini
注意 php命令行運行和瀏覽器運行的配置文件不一樣。
php 命令行的配置:
[root@nginx swoole-src-swoole-1.7.17-stable]# php –ini
Configuration File (php.ini) Path: /usr/local/lib
Loaded Configuration File: /usr/local/lib/php.ini//配置文件
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)
5、查看swoole模塊是否已經安裝成功
[root@nginx swoole-src-swoole-1.7.17-stable]# php -m
6、編寫服務端httpServer.php文件並運行
$serv = new swoole_server(“127.0.0.1”, 9501);
$serv-on(‘connect’, function ($serv, $fd){
echo “Client:Connect.\n”;
});
$serv-on(‘receive’, function ($serv, $fd, $from_id, $data) {
$serv-send($fd, ‘Swoole: ‘.$data);
});
$serv-on(‘close’, function ($serv, $fd) {
echo “Client: Close.\n”;
});
$serv-start();
運行httpServer.php
[root@nginx swoole-src-swoole-1.7.17-stable]# php httpServer.php
7、用telnet測試
[root@nginx ~]# telnet 127.0.0.1 9501
Trying 127.0.0.1…
Connected to 127.0.0.1.
Escape character is ‘^]’.
hello 客戶端
Swoole: hello 服務端
很多人問為什麼swoole不支持php
swoole最好是運行在linux下,windows會發生這樣那樣的事,並且,請配置好,在phpinfo()中可以看到swoole擴展,才算開啟
在 swoole 裡面 swoole\coroutine\redis 沒有發現怎麼回事
先啟動redis_client-connect,然後再調用swoole_server時報錯:
PHP Fatal error: swoole_server::__construct(): eventLoop has been created. Unable to create swoole_server
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/197679.html