<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                # 搭建環境 >[danger]SD 已經停止維護,推薦使用ESD項目[ESD](http://www.hmoore.net/tmtbe/goswoole/1067764) ## 自動安裝 SD提供提供了運行環境的一鍵安裝部署,可用于全新系統的環境搭建。 環境包括PHP,各類擴展,SD框架。 執行下面命令將安裝SD3.X版本,包括所有環境 ``` curl -sS sd.youwoxing.net/install_v3 | bash ``` 運行后,喝杯茶靜等安裝完成。 如果你已經安裝了PHP,有可能會出現安裝錯誤,請移除你安裝的PHP版本再執行上面的命令。 該命令已在ubuntu,centos,deepin系統中驗證有效。 上面的命令會自動生成SD的項目文件夾,可以修改composer.json文件增加自己的依賴或者修改SD的版本。 composer.json: ```json { "require": { "tmtbe/swooledistributed":">3.0.0" }, "autoload": { "psr-4": { "app\\": "src/app", "test\\": "src/test" } } } ``` 通過composer進行依賴代碼更新,運行: ``` composer update ``` ## 手動安裝 1. 安裝PHP7.1.14版本,包含bcmath,mbstring,pdo_mysql,posix擴展。 2. 安裝swoole,inotify,ds,redis,hiredis 使用下面的安裝腳步安裝,可以通過修改版本號安裝不同版本。 ``` #!/bin/sh #sd安裝腳本 set -e pwd=`pwd` hiredis_version="0.13.3" phpredis_version="3.1.6" phpds_version="1.2.4" phpinotify_version="2.0.0" swoole_version="2.1.1" sd_version="3.0.6" swoole_configure="--enable-async-redis --enable-openssl --enable-coroutine" do_install_ex() { php_m=`php -m` if ! [[ $php_m =~ "bcmath" ]] ; then echo "缺少必要bcmath擴展,請安裝或者卸載php版本后重新運行本命令" exit fi if ! [[ $php_m =~ "mbstring" ]] ; then echo "缺少必要mbstring擴展,請安裝或者卸載php版本后重新運行本命令" exit fi if ! [[ $php_m =~ "pdo_mysql" ]] ; then echo "缺少必要pdo_mysql擴展,請安裝或者卸載php版本后重新運行本命令" exit fi if ! [[ $php_m =~ "posix" ]] ; then echo "缺少必要posix擴展,請安裝或者卸載php版本后重新運行本命令" exit fi do_install_swoole if ! [[ $php_m =~ "redis" ]] ; then do_install_redis fi if ! [[ $php_m =~ "ds" ]] ; then do_install_ds fi if ! [[ $php_m =~ "inotify" ]] ; then do_install_inotify fi } do_install_inotify() { cd ${pwd}; echo "[inotify] 開始下載" if [ -f "${phpinotify_version}.tar.gz" ] ;then rm -f ${phpinotify_version}.tar.gz fi wget https://github.com/arnaud-lb/php-inotify/archive/${phpinotify_version}.tar.gz if [ -d "php-inotify-${phpinotify_version}" ] ;then rm -rf php-inotify-${phpinotify_version} fi tar -xzvf ${phpinotify_version}.tar.gz > /dev/null echo "[inotify] 開始編譯" cd ${pwd}/php-inotify-${phpinotify_version} phpize ./configure make clean > /dev/null make -j make install echo "extension=inotify.so" | tee ${init_file}/inotify.ini rm -f ${pwd}/${phpinotify_version}.tar.gz rm -rf ${pwd}/php-inotify-${phpinotify_version} } do_install_ds() { cd ${pwd}; echo "[ds] 開始下載" if [ -f "v${phpds_version}.tar.gz" ] ;then rm -f v${phpds_version}.tar.gz fi wget https://github.com/php-ds/extension/archive/v${phpds_version}.tar.gz if [ -d "extension-${phpredis_version}" ] ;then rm -rf extension-${phpredis_version} fi tar -xzvf v${phpds_version}.tar.gz > /dev/null echo "[ds] 開始編譯" cd ${pwd}/extension-${phpds_version} phpize ./configure make clean > /dev/null make -j make install echo "extension=ds.so" | tee ${init_file}/ds.ini rm -f ${pwd}/v${phpds_version}.tar.gz rm -rf ${pwd}/extension-${phpredis_version} } do_install_redis() { cd ${pwd}; echo "[redis] 開始下載" if [ -f "${phpredis_version}.tar.gz" ] ;then rm -f ${phpredis_version}.tar.gz fi wget https://github.com/phpredis/phpredis/archive/${phpredis_version}.tar.gz if [ -d "redis-${phpredis_version}" ] ;then rm -rf redis-${phpredis_version} fi tar -xzvf ${phpredis_version}.tar.gz > /dev/null echo "[redis] 開始編譯" cd ${pwd}/phpredis-${phpredis_version} phpize ./configure make clean > /dev/null make -j make install echo "extension=redis.so" | tee ${init_file}/redis.ini rm -f ${pwd}/${phpredis_version}.tar.gz rm -rf ${pwd}/redis-${phpredis_version} } do_install_swoole() { cd ${pwd}; echo "[swoole] 開始下載" if [ -f "v${swoole_version}.tar.gz" ] ;then rm -f v${swoole_version}.tar.gz fi if [ -f "v${hiredis_version}.tar.gz" ] ;then rm -f v${hiredis_version}.tar.gz fi wget https://github.com/swoole/swoole-src/archive/v${swoole_version}.tar.gz https://github.com/redis/hiredis/archive/v${hiredis_version}.tar.gz if [ -d "swoole-src-${swoole_version}" ] ;then rm -rf swoole-src-${swoole_version} fi if [ -d "hiredis-${hiredis_version}" ] ;then rm -rf hiredis-${hiredis_version} fi tar -xzvf v${swoole_version}.tar.gz > /dev/null tar -xzvf v${hiredis_version}.tar.gz > /dev/null echo "[swoole] 開始編譯" cd ${pwd}/hiredis-${hiredis_version} make clean > /dev/null make -j make install ldconfig cd ${pwd}/swoole-src-${swoole_version} phpize ./configure ${swoole_configure} make clean > /dev/null make -j make install echo "extension=swoole.so" | tee ${init_file}/swoole.ini rm -f ${pwd}/v${swoole_version}.tar.gz rm -f ${pwd}/v${hiredis_version}.tar.gz rm -rf ${pwd}/swoole-src-${swoole_version} rm -rf ${pwd}/hiredis-${hiredis_version} } do_install_sd(){ echo "[SD] 開始安裝" cd ${pwd} mkdir sd cd sd echo "{\"require\": {\"tmtbe/swooledistributed\":\"=${sd_version}\"},\"autoload\": {\"psr-4\": {\"app\\\\\": \"src/app\",\"test\\\\\": \"src/test\"}}}" > composer.json composer update php vendor/tmtbe/swooledistributed/src/Install.php -y echo "框架安裝完畢,項目目錄:${pwd}/sd" } do_install_composer(){ if ! command_exists composer ; then cd ${pwd} echo "[composer] 開始下載" curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer fi composer config -g repo.packagist composer https://packagist.phpcomposer.com } set_php() { init_file=`echo '<?php $command=$argv[1]??null;ob_start();phpinfo(INFO_GENERAL);$result=ob_get_contents();ob_clean();$ini_files="";$info=explode("\n\n",$result)[1];$info2=explode("\n",$info);foreach($info2 as $value){$info3=explode("=>",$value);if($info3[0]=="Scan this dir for additional .ini files "){$ini_files = trim($info3[1]);break;}}echo $ini_files;' | php` } set_ldconf() { echo "include /etc/ld.so.conf.d/*.conf" | tee /etc/ld.so.conf if ! [ -d "/etc/ld.so.conf.d" ] ;then mkdir /etc/ld.so.conf.d fi cd /etc/ld.so.conf.d echo "/usr/local/lib" | tee /etc/ld.so.conf.d/libc.conf ldconfig -v } do_install(){ set_ldconf php_version=`php -v` if ! [[ $php_version =~ "PHP 7" ]] ; then echo "PHP版本不對,請卸載php后重新運行此命令" fi set_php do_install_ex do_install_composer do_install_sd } do_install ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看