## 0、安裝 CentOS 8.0
下載最新版本的`CentOS`鏡像,地址可參考:[http://mirrors.163.com/centos/8.4.2105/isos/x86\_64/](http://mirrors.163.com/centos/8.4.2105/isos/x86_64/)
選擇:`CentOS-8.4.2105-x86_64-boot.iso`,可以使用U盤、光盤或者虛擬機,進行最小化安裝。
### 更新系統
~~~
yum update
yum upgrade
~~~
最小化安裝的軟件很少,我們需要安裝一下必要的工具和開發環境。
### 安裝編譯環境和工具
~~~
yum -y install wget python39 libxml2-devel openssl-devel \
sqlite-devel libcurl-devel libicu-devel gcc-c++ c++ oniguruma \
libxslt-devel libpng-devel libjpeg-devel freetype-devel \
libffi-devel make autoconf automake libtool \
readline-devel libzip-devel unzip
~~~
### 安裝 oniguruma 開發包
CentOS 8沒有找到`oniguruma-devel`包,需要自己編譯安裝。
~~~
wget http://down.24kplus.com/linux/oniguruma/oniguruma-6.9.4.tar.gz
tar -zxf oniguruma-6.9.4.tar.gz
cd oniguruma-6.9.4
./autogen.sh && ./configure --prefix=/usr --disable-dependency-tracking
make && make install
~~~
## 1、安裝 MySQL
~~~
yum install mysql-server mysql
~~~
## 2、安裝 PHP
下載最新版本的`PHP`鏡像,地址可參考:[http://mirrors.sohu.com/php/](http://mirrors.sohu.com/php/)
選擇:`php-7.4.9.tar.gz`。
~~~
tar zxvf php-7.4.9.tar.gz
cd php-7.4.9
'./configure' '--prefix=/usr/local/php' '--with-config-file-path=/usr/local/php/etc' '--enable-fpm' '--enable-inline-optimization' '--disable-debug' '--disable-rpath' '--enable-shared' '--with-xmlrpc' '--with-sqlite3' '--with-zlib' '--enable-bcmath' '--with-iconv' '--with-bz2' '--with-openssl' '--enable-calendar' '--with-curl' '--with-cdb' '--enable-dom' '--enable-exif' '--enable-fileinfo' '--enable-filter' '--with-openssl-dir' '--with-zlib-dir' '--enable-gd' '--with-jpeg=/usr/local/jpeg' '--with-freetype=/usr/local/freetype' '--enable-gd-jis-conv' '--with-gettext' '--with-mhash' '--enable-json' '--enable-mbstring' '--enable-mbregex' '--enable-pdo' '--with-mysqli=mysqlnd' '--with-pdo-mysql=mysqlnd' '--with-pdo-sqlite' '--with-readline' '--enable-session' '--enable-shmop' '--enable-simplexml' '--enable-sockets' '--enable-sysvmsg' '--enable-sysvsem' '--enable-sysvshm' '--with-xsl' '--enable-mysqlnd-compression-support' '--with-pear' '--enable-opcache' '--with-zip' '--with-ffi'
make && make install
~~~
## 3、安裝 Nginx
~~~
//安裝
yum install nginx
//啟動
systemctl start nginx
//關閉
systemctl stop nginx
//重新加載配置
systemctl reload nginx
~~~
* * *
## ubuntu 20 下的安裝
sudo apt update
sudo apt install php-fpm
apt install php7.4-mysql php7.4-mbstring mysql-server
alter use 'root'@'localhost' identified with mysql\_native\_password by 'xxxx';
flush privileges;
## 附常用PHP擴展包
~~~
php74:安裝PHP 7.4的包
php74-php:用于創建動態web的PHP腳本語言網站
php74-build:基本的構建配置
php74-php-gd:用于PHP應用程序使用gd的模塊圖形庫
php74-xhprof:一個用于PHP - Web接口的層次分析器
php74-zephir:用于創建擴展的Zephir語言PHP:
php74-php-ast:抽象語法樹
php74-php-cli:用于PHP的命令行接口
php74-php-dba:一個用于PHP的數據庫抽象層模塊應用程序
php74-php-dbg:交互式PHP調試器
php74-php-ffi:外部函數接口
php74-php-fpm:PHP FastCGI進程管理器
php74-php-gmp:一個用于使用GNU的PHP應用程序模塊議員庫
php74-php-lz4:x86_64: PHP的LZ4擴展
php74-php-pdo:一個用于PHP的數據庫訪問抽象模塊應用程序
php74-php-xml:x86_64:用于使用XML的PHP應用程序的模塊
php74-runtime:處理php74軟件集合的包:
php74-php-imap:x86_64:用于使用IMAP的PHP應用程序的模塊
php74-php-intl:x86_64: PHP國際化擴展應用程序
php74-php-json:x86_64: PHP的JavaScript對象符號擴展
php74-php-ldap:x86_64:用于使用LDAP的PHP應用程序的模塊
php74-php-oci8:x86_64:用于使用OCI8的PHP應用程序的模塊數據庫
php74-php-odbc:x86_64:用于使用ODBC的PHP應用程序的模塊數據庫
php74-php-pear:noarch: PHP擴展和應用程序庫框架
php74-php-pggi:GTK綁定
php74-php-snmp:一個用于PHP應用程序查詢的模塊SNMP-managed設備
php74-php-soap:用于使用SOAP的PHP應用程序的模塊協議
php74-php-tidy:標準PHP模塊提供了tidy庫支持
php74-php-zstd:x86_64: Zstandard擴展名
php74-scldevel:x86_64:打包php74的開發文件
php74-unit-php:用于NGINX單元的PHP模塊
php74-php-devel:構建PHP擴展所需的文件
php74-php-pgsql:一個用于PHP的PostgreSQL數據庫模塊
php74-php-pinba:x86_64: Pinba統計服務器的客戶端擴展
php74-php-bcmath:用于PHP應用程序的模塊bcmath庫
php74-php-brotli:用于PHP的Brotli擴展
php74-php-common:PHP的公共文件
php74-php-pspell:x86_64:用于PHP應用程序的模塊中接口
php74-php-recode:用于PHP應用程序的模塊重新編碼庫
php74-php-snappy:PHP的Snappy擴展
php74-php-sodium:x86_64:鈉密碼庫的包裝
php74-php-sqlsrv:x86_64:用于SQL Server的PHP Microsoft驅動程序
php74-php-xmlrpc:的PHP應用程序模塊xml - rpc協議
php74-php-enchant:增強PHP的拼寫擴展應用程序
php74-php-libvirt:用于Libvirt的PHP語言綁定
php74-php-mysqlnd:x86_64:用于使用MySQL的PHP應用程序的模塊數據庫
php74-php-opcache:x86_64: Zend OPcache
php74-php-pecl-ds:x86_64: PHP的數據結構
php74-php-pecl-ev:提供libev庫的接口
php74-php-pecl-pq:PostgreSQL客戶端庫(libpq)綁定
php74-php-pecl-uv:Libuv包裝器
php74-php-process:用于PHP腳本的模塊使用系統進程接口
php74-php-embedded:用于嵌入應用程序的PHP庫
php74-php-mbstring:一個用于PHP應用程序的模塊多字節字符串處理
php74-php-pecl-dio:直接I/O函數
php74-php-pecl-eio:提供libeio庫的接口
php74-php-pecl-env:加載環境變量
php74-php-pecl-lua:嵌入式lua解釋器
php74-php-pecl-lzf:x86_64:處理LZF de/壓縮的擴展
php74-php-pecl-nsq:NSQ客戶端的PHP擴展
php74-php-pecl-psr:PSR接口
php74-php-pecl-rar:用于讀取RAR存檔的PHP擴展
php74-php-pecl-rrd:x86_64: rrdtool的PHP綁定
php74-php-pecl-sdl:簡單的PHP DirectMedia層
php74-php-pecl-svn:x86_64: Subversion版本的PHP綁定控制系統
php74-php-pecl-vld:x86_64:轉儲PHP的內部表示腳本
php74-php-pecl-yac:無鎖用戶數據緩存
php74-php-pecl-yaf:x86_64:又一個框架
php74-php-pecl-yar:輕量級并發RPC框架
php74-php-pecl-yaz:x86_64: Z39.50/SRU客戶端
php74-php-pecl-zip:一個ZIP文件的擴展名
php74-php-pecl-zmq:ZeroMQ消息傳遞
php74-php-phalcon4:Phalcon框架
php74-php-componere:在運行時編寫PHP類
php74-php-litespeed:LiteSpeed Web服務器PHP支持
php74-php-maxminddb:MaxMind DB Reader擴展
php74-php-pdo-dblib:x86_64: PDO驅動程序,用于Microsoft SQL Server和Sybase數據庫
php74-php-pecl-amqp:與任何AMQP兼容的服務器通信
php74-php-pecl-apcu:APC用戶緩存
php74-php-pecl-apfd:總是填充表單數據
php74-php-pecl-fann:用于FANN庫的包裝器
php74-php-pecl-grpc:x86_64:通用RPC框架
php74-php-pecl-http:擴展的HTTP支持
php74-php-pecl-krb5:Kerberos驗證擴展
php74-php-pecl-pcov:x86_64:代碼覆蓋驅動程序
php74-php-pecl-ssh2:x86_64: libssh2庫的綁定
php74-php-pecl-sync:已命名和未命名同步對象
php74-php-pecl-uopz:x86_64: Zend的用戶操作
php74-php-pecl-uuid:通用唯一標識符擴展對于PHP
php74-php-pecl-vips:x86_64:與libvip接口的PHP擴展
php74-php-pecl-wddx:Web分布式數據交換
php74-php-pecl-yaml:x86_64: yaml的PHP綁定
php74-php-phpiredis:x86_64: Redis的客戶端擴展名
php74-php-smbclient:libsmbclient的PHP包裝
php74-php-wkhtmltox:HTML轉換器
php74-php-pecl-cmark:CommonMark擴展名
php74-php-pecl-dbase:dBase數據庫文件訪問函數
php74-php-pecl-druid:一個PHP的德魯伊驅動
php74-php-pecl-event:提供libevent庫的接口
php74-php-pecl-geoip:將IP地址映射到的擴展名地理位置
php74-php-pecl-gnupg:x86_64: gpgme庫的包裝
php74-php-pecl-mysql:MySQL數據庫訪問函數
php74-php-pecl-oauth:PHP OAuth消費者擴展
php74-php-pecl-parle:x86_64:解析和詞法分析
php74-php-pecl-raphf:資源和持久句柄工廠
php74-php-pecl-solr2:Apache Solr的API定向對象
php74-php-pecl-stats:用于統計計算的例程
php74-php-pecl-stomp:Stomp客戶端擴展
php74-php-pecl-taint:x86_64: XSS代碼嗅探器
php74-php-pecl-xattr:擴展屬性
php74-php-pecl-xdiff:文件差異/補丁
php74-php-pecl-xxtea:XXTEA加密算法擴展PHP
php74-php-libvirt-doc:noarch: php-libvirt文件
php74-php-pecl-base58:用base58編碼和解碼數據
php74-php-pecl-bitset:位集庫
php74-php-pecl-crypto:OpenSSL密碼庫的包裝器
php74-php-pecl-gender:x86_64:性別擴展
php74-php-pecl-hprose:用于PHP的h散文
php74-php-pecl-hrtime:x86_64:高分辨率定時
php74-php-pecl-mcrypt:x86_64: libmcrypt庫的綁定
php74-php-pecl-pdflib:生成PDF文件的包
php74-php-pecl-propro:屬性代理
php74-php-pecl-radius:Radius客戶端庫
php74-php-pecl-redis4:的擴展名 Redis鍵值存儲
php74-php-pecl-redis5:的擴展名 Redis鍵值存儲
php74-php-pecl-scrypt:Scrypt散列函數
php74-php-pecl-sphinx:Sphinx SQL全文的PECL擴展搜索引擎
php74-php-pecl-ssdeep:libfuzzy庫的包裝器
php74-php-pecl-trader:為貿易商提供技術分析
php74-php-pecl-xdebug:用于調試PHP腳本的PECL包
php74-php-pecl-xhprof:x86_64: XHProf的PHP擴展,層次結構分析器
php74-php-pecl-yaconf:x86_64:另一個配置容器
php74-php-pecl-apcu-bc:APCu向后兼容模塊
php74-php-pecl-decimal:任意精度浮點小數
php74-php-pecl-gearman:PHP包裝器到libgearman
php74-php-pecl-gmagick:的包裝器GraphicsMagick庫
php74-php-pecl-imagick:x86_64:用于創建和修改映像的擴展使用ImageMagick
php74-php-pecl-inotify:x86_64: Inotify
php74-php-pecl-leveldb:LevelDB PHP綁定
php74-php-pecl-memprof:x86_64:內存使用分析器
php74-php-pecl-mongodb:x86_64:用于PHP的MongoDB驅動程序
php74-php-pecl-msgpack:用于與MessagePack通信的API序列化
php74-php-pecl-rdkafka:基于librdkafka的Kafka客戶端
php74-php-pecl-rpminfo:x86_64: RPM信息
php74-php-pecl-runkit7:為了這些你…不應該…無論如何我一直在做……但是肯定做的!
php74-php-pecl-seaslog:一個有效、快速、穩定的日志 PHP擴展
php74-php-pecl-selinux:用于PHP腳本的SELinux綁定語言
php74-php-pecl-swoole4:PHP的異步并發分布式網絡框架
php74-php-pecl-timecop:x86_64:時間旅行和凍結擴展
php74-php-pecl-varnish:Varnish緩存綁定
php74-php-pecl-xmldiff:x86_64: XML差異和合并
php74-php-pecl-igbinary:x86_64:替代標準PHP序列化器
php74-php-pecl-memcache:x86_64:使用Memcached的擴展緩存守護進程
php74-php-pecl-mogilefs:要與之通信的PHP客戶端庫 MogileFS存儲
php74-php-pecl-mustache:Mustache模板語言
php74-php-pecl-protobuf:序列化結構化的機制數據
php74-php-pecl-rdkafka4:基于librdkafka的Kafka客戶端
php74-php-pecl-scoutapm:本地擴展組件 ScoutAPM的PHP代理
php74-php-pecl-translit:將非拉丁字符音譯設置為拉丁文
php74-php-snuffleupagus:x86_64: PHP的安全模塊
php74-php-zephir-parser:x86_64: Zephir解析器擴展
php74-php-pecl-cassandra:用于Apache的DataStax PHP驅動程序卡桑德拉
php74-php-pecl-json-post:JSON POST處理程序
php74-php-pecl-mailparse:用于解析和的PHP PECL包處理電子郵件消息
php74-php-pecl-memcached:x86_64:使用Memcached的擴展緩存守護進程
php74-php-pecl-mosquitto:libmosquito - to的擴展
php74-php-pecl-seasclick:一個Yandex ClickHouse客戶端驅動 PHP擴展
php74-php-pecl-xlswriter:一個高效、快速的xlsx文件出口擴展
php74-php-horde-horde-lz4:Horde LZ4壓縮擴展
php74-php-pecl-apcu-devel:APCu開發人員文件(頭文件)
php74-php-pecl-couchbase2:Couchbase服務器PHP擴展
php74-php-pecl-geospatial:PHP擴展來處理公共地理空間功能
php74-php-pecl-handlebars:Handlebars模板語言
php74-php-pecl-http-devel:x86_64:擴展HTTP支持開發人員文件(頭)
php74-php-pecl-krb5-devel:Kerberos擴展開發人員文件(頭)
php74-php-pecl-luasandbox:帶有限制和安全的Lua解釋器環境
php74-php-pecl-opencensus:一個stats集合和分布式跟蹤框架
php74-php-pecl-skywalking:x86_64: Apache的PHP工具代理人行天橋
php74-php-pecl-ahocorasick:有效的Aho-Corasick字符串模式匹配算法
php74-php-pecl-ip2location:獲取an的地理位置信息IP地址
php74-php-pecl-http-message:x86_64: PSR-7 HTTP消息實現
php74-php-pecl-datadog-trace:APM和分布式跟蹤PHP
php74-php-pecl-hdr-histogram:x86_64: C語言的PHP擴展包裝hdrhistogram API
php74-php-pecl-imagick-devel:imagick擴展開發人員文件(頭)
php74-php-pecl-msgpack-devel:MessagePack開發人員文件(頭)
php74-php-pecl-mysql-xdevapi:MySQL數據庫訪問函數
php74-php-pecl-mysqlnd-azure:x86_64: mysqlnd的重定向插件
php74-php-pecl-igbinary-devel:Igbinary開發人員文件(頭)
php74-php-pecl-uploadprogress:x86_64:跟蹤進度的擴展文件上傳
sudo apt update
sudo apt install zip unzip php-fpm php-zip php-curl php-curl php7.4-mysql php7.4-mbstring
php-sqlite3 php-gd php-xml
apt install php7.4-mysql php7.4-mbstring mysql-server
alter use 'root'@'localhost' identified with mysql_native_password by 'xxxx';
flush privileges;
composer update topthink/framework
~~~
- 搭建ThinkPHP6的開發環境
- 配置ThinkPHP6
- 必要的基礎知識(basic)
- MVC開發模式
- 控制器(controller)
- 數據庫(database)
- 模型(model)
- 模型關聯(relation)
- 視圖(view)
- Session
- Cookie
- 緩存(cache)
- 上傳(upload)
- 驗證器(validate)
- 驗證碼(captcha)
- 命令行(command)
- 服務器部署(deploy)
- 數據備份(backup)
- 數據同步(synchronization)
- 訂閱服務(subscribe)
- PHP 易混淆知識點
- 助手函數
- MySQL規范
- Redis 規范
- office插件 phpoffice
- 拼音插件 pinyin
- 日期插件 datetime
- 消息插件 amqp
- 產品部署環境的搭建
- PDF 等雜項處理
- 文件上傳
- 常用擴展
- flc/dysms
- 使用示例 ①
- 使用示例 ②
- qiniu/php-sdk
- 簡介
- 使用示例
- 使用示例 2 ②
- liliuwei/thinkphp-jump
- 擴展介紹
- 下載擴展
- 使用方法
- topthink/think-captcha
- 安裝擴展
- 驗證碼顯示
- 更換驗證碼
- 驗證碼校驗
- 驗證碼配置
- 自定義驗證碼
- phpoffice/phpspreadsheet
- 數據寫入表格
- 讀取表格數據
- topthink/think-queue
- 安裝
- 自定義函數
- 任務類
- 帶有日志的任務類