<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>

                本書是在多個真實的項目中用到的技術,會不斷的擴充或更新。由于 Thinkphp 功能細節甚多,本書只實錄了開發過程中可能遇到關鍵的問題。 ## ThinkPHP6 的運行環境 * 兼容 `PHP 8.0`,實踐環境為 `8.2.11` ### 安裝Composer 本項目同時在`Win10`、`Linux` 和 `Mac OS X` 下開發,故列出`Thinkphp8` 在各平臺上的安裝步驟。 ### Linux 或 Mac OS命令行: Linux用戶不要使用 `apt install composer`, 這樣安裝的是低版本的composer,請使用下面的命令行安裝最新版的composer。 ~~~ curl -sS https://getcomposer.org/installer | php sudo mv composer.phar /usr/local/bin/composer ~~~ ### Mac OS: 除了使用上面介紹的Linux 下的方式安裝,也可以通過`brew install composer`安裝,當然這之前,你需要先安裝 `brew`(MacOS下軟件包管理工具)。`brew` 的安裝方法見下。 ``` /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" ``` ### 更改安裝源: 如果你之后的命令操作很慢,可能是網絡不太好(大部分的軟件都在國外的服務器上),你可以采用下面的步驟,更改成國內的下載源。一般網速慢會有如下的反饋。 `https://repo.packagist.org could not be fully loaded (curl error 28 while downloading https://repo.packagist.org/packages.json: Operation timed out after 10005 milliseconds with 0 out of 0 bytes received), package information was loaded from the local cache and may be out of date` 打開命令行窗口(Microsoft Windows用戶)或控制臺(Linux、Mac 用戶)執行如下命令: ~~~ composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ ~~~ ### 安裝穩定版 在命令行下面,切換到 `WEB` 根目錄下面并執行下面的命令: ~~~ composer create-project topthink/think <project_dir> ~~~ 這里的`<project_dir>`就是要開發項目的根目錄,根據實際情況改寫。 安裝成功后會給出類似下面的提示。 ``` ... 此處省略 N 行... 12 package suggestions were added by new dependencies, use `composer suggest` to see details. Generating autoload files > @php think service:discover Succeed! > @php think vendor:publish Succeed! 6 packages you are using are looking for funding. Use the `composer fund` command to find out more! ``` ### 更新`ThinkPHP` 如果之前已經安裝過,切換到項目的根目錄,執行: ~~~ composer update topthink/framework // 全部更新,務必備份好 `vendor` 目錄 composer update ~~~ 更新操作會覆蓋`thinkphp`核心目錄,但不會影響`app`目錄,因此不要在核心框架目錄之外編寫你的代碼或者放置第三方類庫。這可能會在以后的升級中被覆蓋。 ### 開發模式 在開發階段,在根目錄建立一個`.env`文件,內容參見`.example.env`,并開啟調試模式。上線部署后直接刪除`.env`文件即可。`.env`文件支持支持定義多個環境變量配置文件,配置文件命名規范為: ~~~ .env.example .env.testing .env.develop ~~~ 該文件格式可能存在問題,在`Linux` 下面的`vim`編輯器中不能正確換行。可以使用`:%s/^M/\r/g`進行替換操作。 然后,需要在入口文件中指定部署使用的環境變量名稱: ~~~ // 執行HTTP應用并響應 $http = (new App())->setEnvName('develop')->http; $response = $http->run(); $response->send(); $http->end($response); ~~~ 或者 ``` // // .env.debug & .env $http = in_array($_SERVER['REMOTE_ADDR'], ['22.24.24.20']) ? (new App())->setEnvName('debug')->http: (new App())->http; ``` 調試模式的參數見下: ~~~ APP_DEBUG = true // 其余部分視情況可刪除 ~~~ 也可以使用命令操作,如下。 ``` cp .example.env .env cp .example.env .env.debug ``` ### 測試運行及部署 在實際部署中,應該是綁定域名訪問到`public`目錄,安全起見,一定要確保其他目錄不在 `WEB` 目錄下面。下面給出`Nginx`的配置代碼,供參考。 ~~~ server { listen 80; server_name localhost; root /var/www/<project_name>/public; index index.html index.htm index.php; location / { if (!-e $request_filename) { //多入口需要配置多行 //rewrite /install.php(.*)$ /install.php?s=$1 last; rewrite ^(.*)$ /index.php?s=$1 last; //rewrite ^(.*)$ /index.php$1 last; break; } } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; #fastcgi_pass unix:/var/run/php/php-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } ~~~ 瀏覽網頁,檢查是否成功。
                  <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>

                              哎呀哎呀视频在线观看