秋初 WAMP 整合環境 v2.1

2022-09-27 06:06:43

基於QT的PHP整合式開發環境v2.1

https://gitee.com/xiaqiuchu/wamp-integrated-environment

介面預覽

已實現功能

注意

  1. 服務的關閉/重啟是通過 cmd 命令強制關閉的,如果你有其他的 apache、mysql 在執行會被一同關閉。
  2. php要下載對應版本的 MS C++ 依賴庫,否則會報錯 dll 不存在。
  3. 路徑不要有中文和空格。
  4. apache、php、mysql檢測是通過正則檢測,下載官方壓縮包解壓即可,不要修改資料夾名字。
        filters << "httpd-*";
        filters << "mysql-*-winx*";
        filters << "php*-x86" << "php*-x64";
    

編譯步驟

環境

環境 版本
windows 10
Qt 6.2.4
Qt Creator 8.0.1 (Community)
qmake

步驟

參考:https://www.cnblogs.com/xiaqiuchu/p/16717905.html

  1. 根據 修改/更新SDK方法 將64位元的 mysql、apache24、php 下載解壓到 /wamp/
  2. 編譯應用為 Release。
  3. 開啟 Qt 6.2.4 (MinGW 11.2.0 64-bit) 進入打包資料夾,然後使用 windeployqt 將缺失的 dll 引入。

修改/更新SDK方法

/ 指的是編譯完畢的軟體根目錄,與 Wamp.exe 同級

php版本更新

當前按照 php-8.1.9-Win32-vs16-x64 版本舉例

  1. 下載 指定的 64位元php 版本,解壓縮後放到 /wamp/php/

  2. /wamp/php/php-8.1.9-Win32-vs16-x64/php.ini-development 複製一份當前目錄,並重新命名為 php.ini

apache版本更新

當前按照 Apache 2.4.x OpenSSL 1.1.1 VS17 版本舉例
當前 mod_fcgid 按照 mod_fcgid-2.3.9-crlf 版本舉例
如果啟動失敗可能是 443 埠衝突,參考 https://blog.csdn.net/qingtiancao/article/details/89187348

  1. 下載 指定的 2.4.x 版本的 Apache ,解壓縮後放到 /wamp/apache/

  2. 下載 Windows 版本的 fcgid ,解壓縮後放到 /wamp/apache/httpd-2.4.54-o111p-x64-vs17/Apache24/modules/mod_fcgid.so

  3. 修改 /wamp/apache/httpd-2.4.54-o111p-x64-vs17/Apache24/conf/httpd.conf

    • FollowSymLinks 後追加 ExecCGI
    DocumentRoot "${SRVROOT}/htdocs"
    <Directory "${SRVROOT}/htdocs">
        ...
        # 修復設定完畢後 403 的問題 https://www.cnblogs.com/xiaqiuchu/articles/16724444.html
        Options Indexes FollowSymLinks ExecCGI
        ...
    </Directory>
    
    • 在檔案最後追加 Include conf/extra/httpd-fcgid.conf
    # apache指定php版本,無需phpapachedll
    # https://blog.csdn.net/zhouzme/article/details/53995566
    # https://www.cnblogs.com/fps2tao/p/9401224.html
    # PHP FastCGI
    #
    # Edit conf/extra/httpd-fcgid.conf to match your php location
    # and uncomment the Include line below.
    Include conf/extra/httpd-fcgid.conf
    
    
  4. 建立檔案 httpd-fcgid.conf 在 /wamp/apache/httpd-2.4.54-o111p-x64-vs17/Apache24/conf/extra/httpd-fcgid.conf 寫入設定如下,注意修改路徑為你自己的路徑(不修改也可以,使用者端會自己修改為你的執行路徑)

    LoadModule fcgid_module modules/mod_fcgid.so
    AddHandler fcgid-script .fcgi .php
    FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 1000
    FcgidMaxRequestsPerProcess 1000
    FcgidMaxProcesses 15
    FcgidIOTimeout  120
    FcgidIdleTimeout  120
    AddType application/x-httpd-php .php
    FcgidInitialEnv PHPRC "程式執行目錄/wamp/php/php-8.1.9-Win32-vs16-x64"
    FcgidWrapper "程式執行目錄/wamp/php/php-8.1.9-Win32-vs16-x64/php-cgi.exe" .php
    # 上傳檔案的最大尺寸 100MB
    FcgidMaxRequestLen 104857600
    

mysql版本更新

當前按照 mysql-8.0.28-winx64 版本舉例

  1. 下載 指定的 64位元mysql 版本,解壓縮後放到 /wamp/mysql/

  2. 建立檔案 mysql.ini 在 /wamp/mysql/mysql-8.0.28-winx64/mysql.conf 寫入設定如下,注意修改路徑為你自己的路徑(必須先設定為真實的mysql執行路徑,初始化需要

    [mysqld]
    basedir=程式執行目錄/wamp/mysql/mysql-8.0.28-winx64
    datadir=程式執行目錄/wamp/mysql/mysql-8.0.28-winx64/data
    
  3. 命令列進入到 程式執行目錄/wamp/mysql/mysql-8.0.28-winx64/bin 目錄,執行以下命令初始化。

    設定:https://www.cnblogs.com/pingcode/p/15839428.html
    修改密碼:https://www.cnblogs.com/chloneda/p/12449819.html

    初始化後不要關閉 cmd 視窗,因為會隨機生成初始密碼,然後根據初始密碼來修改 mysql 的密碼

    mysqld --initialize --console