廣告聯播

2024年9月25日 星期三

在 Ubuntu Server 安裝 Apache + MariaDB + PHP

From: Polin Wei

RedHat / CentOS 系列小差異說明

特別先提醒一下,和 RedHat / CentOS 系列的 Apache 管理不大一樣,在 RedHat / CentOS 平台中要啟用特定的模組,只要安裝好對應的模組套件,再重新啟用 httpd 服務即可。

但是在 Ubuntu Server 中,除了要安裝對應的模組套件外,要額外使用 a2emod 指令來指用模組,並重新啟用 Apache 服務才可啟用,不然會發生明明就裝了模組但是一定沒有啟用對應功能的情況,這部份後續會再介紹其使用方式。

安裝指令說明

  • sudo(substitute user [或 superuser] do),是一種程式,用於類Unix作業系統允許使用者透過安全的方式使用特殊的權限執行程式 (通常為系統的超級使用者)。
  • add-apt-repository 將 PPA 添加到您的來源列表中,以便 Ubuntu 知道從該 PPA 以及官方 Ubuntu 源中查找更新。
  • apt-get update 告訴 apt-get 去更新其資料庫,安裝哪些 package 以及從哪裡安裝它。
  • apt-get install 讓 apt-get 去資料庫中找到 package 並下載並安裝指定的文件。

安裝網路工具

$ sudo apt install net-tools

安裝 Apache 伺服器

// 安裝 Apache 與工具
$ sudo apt -y install apache2 apache2-utils

// 檢查 apache 運行狀況
$ sudo service apache2 status

// 利用 netstat 指令確認服務是否有啟動(有發現 80 port 運作中,但是 443 預設沒有啟用)。
$ netstat -tlnp

// 也利用 systemctl 指令查看一下相關服務的啟用情況。
$ sudo systemctl status apache2

啟用 SSL 模組

先啟用 Apache ssl 模組,並 restart  apache2 服務。

$ sudo a2enmod ssl
$ sudo systemctl restart apache2

此時一樣用 netstat 指令查一下,會發現有 443 port 已啟用。但是直接連結網頁會失敗。

// 調整 SSL 網站設定檔
$ sudo a2ensite default-ssl.conf
$ sudo systemctl reload apache2 

Apache 設定檔位置

// 一般設定檔
/etc/apache2/apache2.conf

// SSL 設定檔
/etc/apache2/sites-available/default-ssl.conf

這樣子就完第了 apache server 的初步安裝作業了~

繼續閱讀


2024年9月9日 星期一

Laravel TEST 測試

From: Polin Wei

基本說明

建立測試檔案

要建立新的測試案例,請使用 make:test Artisan 指令。預設情況下,測試會放在 tests/Feature 目錄中

PS W:\xampp\htdocs\twingo> php artisan make:test UserTest

   INFO  Test [W:\xampp\htdocs\twingo\tests\Feature\UserTest.php] created successfully. 

如果您想在 tests/Unit 目錄中建立測試,可以在執行 make:test 指令時使用 --unit 選項

PS W:\xampp\htdocs\twingo> php artisan make:test Auth\Users --unit

   INFO  Test [W:\xampp\htdocs\twingo\tests\Unit\Auth\Users.php] created successfully. 

建立好的測試檔案Users.php內容如下

<?php

namespace Tests\Unit\Auth;

use PHPUnit\Framework\TestCase;

class Users extends TestCase
{
    /**
     * A basic unit test example.
     */
    public function test_example(): void
    {
        echo 'Users Test'; // 增加這行觀看輸出結果
        $this->assertTrue(true);
    }
}

執行測試

Laravel 預設使用 phpunit 來作測試工具

./vendor/bin/phpunit
// 上述指令等同下行指令
php artisan test

若是指定在 tests/Unit/Auth 目錄下的測試檔 Users.php,則指令如下

PS W:\xampp\htdocs\twingo> ./vendor/bin/phpunit tests/Unit/Auth/Users.php
// 或
PS W:\xampp\htdocs\twingo> php artisan test  tests/Unit/Auth/Users.php

平行執行測試

預設情況下,Laravel 和 Pest / PHPUnit 會在單一程序中依序執行你的測試。但是也可以在多個程序中同時執行測試,大幅縮短執行測試所需的時間。首先,你應安裝 brianium/paratest Composer 套件作為「開發」相依項。然後,在執行 test Artisan 指令時包含 --parallel 選項

安裝 brianium/paratest 套件

composer require brianium/paratest --dev

執行的結果

PS W:\xampp\htdocs\twingo> php artisan test --parallel --processes=4
ParaTest v7.4.5 upon PHPUnit 11.1.3 by Sebastian Bergmann and contributors.

Processes:     4
Runtime:       PHP 8.2.12
Configuration: W:\xampp\htdocs\twingo\phpunit.xml

..                                                                 2 / 2 (100%)

Time: 00:02.646, Memory: 24.00 MB

OK (2 tests, 2 assertions)

指定檔案時,需參數放在前面,測試檔名放在後面

繼續閱讀