AWS EC2 安裝官方標準 CentOS 8 映像檔時,版本是 CentOS Linux release 8.3.2011. 所以需要將系統更新到 CentOS Stream 8 才能安裝 PHP8.1. 參考 CentOS 8 Update to CentOS Stream 8 將系統更新到 CentOS Stream 8.
將系統更新到 CentOS Stream 8 後,安裝下面工具:
#安裝 wget 工具
sudo yum -y install wget
#安裝解壓縮工具
sudo yum -y install unzip
#安裝壓縮工具
sudo yum -y install zip
關閉 SELinux 設定
sudo vi /etc/selinux/config
#找到 SELINUX=enforcing 改成 SELINUX=disabled
#將 SELINUXTYPE=targeted 加上註釋改為 # SELINUXTYPE=targeted
#存檔後重新開機
#要檢查 SELinux 的狀態, 執行 getenforce 指令便可以看到
#暫時關閉 SELinux 執行 set enforce 0 , 這樣會暫時關閉 SELinux, 無需重新開機, 但下次重新開機後 SELinux 會照常執行.
安裝Apache Web服務器
#安裝
sudo yum -y install httpd
sudo yum -y mod_ssl
#啟動Apache Web服務器
sudo systemctl start httpd.service
#創建httpd的系統啟動鏈接,在系統啟動時自動啟動httpd
sudo systemctl enable httpd.service
#修改 /etc/httpd/conf/httpd.conf 設定後重新啟動
#將centos加入apache群組
sudo usermod -a -G apache centos
若跳出錯誤訊息
[sss_cache] [sysdb_domain_cache_connect] (0x0010): DB version too old [0.23], expected [0.24] for domain implicit_files!
參考: https://blog.csdn.net/Farro/article/details/139858245
#建立sssd.conf檔案後執行
systemctl status sssd.service
systemctl start sssd.service
systemctl stop sssd.service
systemctl status sssd.service
然後就自己正常了 @@?
安裝PHP8.1
執行 sudo dnf module list php 檢查目前系統支援的php版本發現,CentOS Stream 8 並未支援 PHP8.1
下載安 remirepo
sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y
重新執行 sudo dnf module list php 就可以發現已經支援 php 8.1
安裝 PHP8.1 及其他 module
sudo dnf module install php:remi-8.1 -y
sudo yum install php-gd php-pdo php-odbc php-mysqlnd php-pear php-process php-zip
安裝 Microsoft ODBC 連線 MSSQL, 參考 安裝 Microsoft ODBC Driver for SQL Server (Linux)
curl https://packages.microsoft.com/config/rhel/8/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo
sudo yum remove unixODBC unixODBC-utf16 unixODBC-utf16-devel #to avoid conflicts
sudo ACCEPT_EULA=Y yum install -y msodbcsql18
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y yum install -y mssql-tools18
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo yum install -y unixODBC-devel
#安裝 php-sqlsrv
sudo yum install php-sqlsrv
Laravel 8.x 連線 MSSQL 出現錯誤訊息解決方法,只要在 config/database.php 檔案中使用 sqlsrv driver的設定中加入 ‘encrypt’ => ‘yes’ 及 ‘trust_server_certificate’ => ‘true’ 兩行即可。
'MSSQL' => [
'driver' => 'sqlsrv',
'url' => env('MSDB_HOST_URL'),
'host' => env('MSDB_HOST', 'localhost'),
'port' => env('MSDB_PORT', '1433'),
'database' => env('MSDB_DATABASE', 'forge'),
'username' => env('MSDB_USERNAME', 'forge'),
'password' => env('MSDB_PASSWORD', ''),
'charset' => 'utf8',
'prefix' => '',
'prefix_indexes' => true,
'encrypt' => 'yes', // alternatively, defer to an env variable
'trust_server_certificate' => 'true', // alternatively, defer to an env variable
],