樹莓派配置swoole環境

樹莓派配置swoole環境

打算開始學習swoole了(原來好像弄過:swoole環境搭建),不過那次只是接觸了一下,並未太過深入,這次重新來過 (°ー°〃)
swoole雖然能在windows上搭建,不過我覺得意義不大….需要安裝CygWin這和在linux上有什麼區別呢┑( ̄Д  ̄)┍,剛好現在手上有一臺空閒的樹莓派zero,試試在上面搭建

編譯php

之所以要編譯安裝是因為在swoole編譯的時候需要用到phpize,apt-get安裝的時候沒發現有

現在這個上面什麼東西都沒有,先安裝php,我選最新的php7.2.6,zero配置是真的好低….解壓和編譯cpu都100%了很慢….趁這個時間去幹點別的吧

下載,解壓原始碼,安裝依賴

強烈建議使用國內映象….不然可能一些依賴lib按照失敗,導致編譯錯誤

sudo -i
wget http://hk1.php.net/get/php-7.2.6.tar.gz/from/this/mirror
mv mirro php.tar.gz
tar -zxvf php.tar.gz
apt-get update
apt-get install libxml2* libbz2-dev libjpeg-dev libmcrypt-dev libssl-dev openssl libxslt1-dev libxslt1.1 libcurl4-gnutls-dev libpq-dev build-essential git make

編譯配置,複製的網上的lnmp編譯- -…去掉了和Nginx有關的編譯項,我只需要編譯出php就行,不需要Nginx那些環境,當然如果你之前已經有了這些,這一部分就可以跳過了

cd php-7.2.6
./configure \
--prefix=/usr/local/php \
--exec-prefix=/usr/local/php \
--bindir=/usr/local/php/bin \
--sbindir=/usr/local/php/sbin \
--includedir=/usr/local/php/include \
--libdir=/usr/local/php/lib/php \
--mandir=/usr/local/php/php/man \
--with-config-file-path=/usr/local/php/etc \
--with-mysql-sock=/var/lib/mysql/mysql.sock \
--with-mcrypt=/usr/include \
--with-mhash \
--with-openssl \
--with-mysql=shared,mysqlnd \
--with-mysqli=shared,mysqlnd \
--with-pdo-mysql=shared,mysqlnd \
--with-gd \
--with-iconv \
--with-zlib \
--enable-zip \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-xml \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-mbregex \
--enable-mbstring \
--enable-ftp \
--enable-gd-native-ttf \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-soap \
--without-pear \
--with-gettext \
--enable-session \
--with-curl \
--with-freetype-dir \
--enable-opcache \
--enable-redis \
--enable-fpm \
--enable-fastcgi \
--disable-fileinfo


CPU 100% 有點怕,樹莓派zero效能確實是弱…編譯好慢….解決了編譯配置的問題後就開始編譯,我是真的睡了一覺(第二天)才起來make install

make && make install

設定一下php.ini檔案

cp php.ini-production /usr/local/php/etc/php.ini
//我輸入php -v之後發現沒反應,但是php確實是成功了,在/usr/local/php/bin裡面./php -v也有反應,想到可能是沒有連結到/usr/bin 目錄裡,用ln命令連結一下
ln -s /usr/local/php/bin/php /usr/bin/php
//連結phpize
ln -s /usr/local/php/bin/phpize /usr/bin/phpize

成功之後,老套路

php -v


成功,終於可以下一步了,進入swoole編譯配置

swoole編譯

從git上下載原始碼https://github.com/swoole/swoole-src/releases,開始編譯

wget https://github.com/swoole/swoole-src/archive/v4.0.0.zip
unzip v4.0.0.zip
mv swoole-src-4.0.0/ swoole
cd swoole
phpize

這裡我提示了一個錯誤…
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
解決辦法:

apt-get install m4 autoconf

phpize成功之後繼續執行編譯配置和開始編譯(但願這次不用那麼久了…)

開啟一些需要的:編譯配置項

./configure --with-php-config=/usr/local/php/bin/php-config --enable-sockets --enable-swoole-debug --enable-openssl --enable-mysqlnd --enable-coroutine
make && make install


然後需要在php.ini中配置下

vi /usr/local/php/etc/php.ini
//新增
extension=swoole.so

然後php -m

php swoole.php

成了~


歷時一天,終於搞定了 編譯真的是漫長的過程=_=