PHP(PHP: Hypertext Preprocessor)即“超文本預處理器”,是在伺服器端執行的腳本語言,尤其適用於Web開發並可嵌入HTML中。PHP語法學習了C語言,吸納Java和Perl多個語言的特色發展出自己的特色語法,並根據它們的長項持續改進提升自己,例如java的面向對象編程,該... ...
deepin系統安裝php8
一、deepin系統與php的版本
1.deepin系統的版本 --社區版(20.8)
2.php的版本 -- PHP 8.1.11 (cli)
二、下載php的源碼包
1.官網下載地址
https://www.php.net/releases/
2.選擇下載PHP的版本
# 下載下麵的php源碼包
PHP 8.1.11 (tar.gz)
sha256: 3660e8408321149f5d382bb8eeb9ea7b12ea8dd7ea66069da33f6f7383750ab2
三、先安裝php的擴展包
1.安裝PHP的基礎擴展包
$ sudo apt-get install -y gcc autoconf automake libtool cmake m4 bison re2c
2.安裝PHP的依賴擴展包
$ sudo apt-get -y install libwebp-dev libjpeg-dev libxpm-dev libzip-dev libxslt1-dev libmcrypt-dev libsqlite3-dev libcurl4-openssl-dev libssl-dev libfreetype6-dev
3.安裝jpeg格式文件的支持程式
# 說明:之前沒有安裝,在測試laravel框架的驗證碼時,就過不去,使得要重新安裝php
# 安裝後,就可以很好地支持php地gd模塊地擴展
$ tar -zxvf jpegsrc.v9b.tar.gz
$ cd jpeg-9b
$ ./configure --prefix=/usr/local/jpeg --enable-shared --enable-static
$ sudo make && sudo make install
四、安裝php源碼包
1.解壓併進入php源碼包
# 解壓源碼包
$ tar -zxvf php-8.1.11.tar.gz
# 進入源碼包
$ cd php-8.1.11/
2.php的配置
# php的配置
# 註意:–with-gd 改變為 –enable-gd(是否啟用擴展) 和 –with-external-gd (使用外部 libgd,而不是捆綁的)
$ ./configure --prefix=/usr/local/php/php8.1 --with-config-file-path=/usr/local/php/php8/phpconfig --enable-mbstring --with-openssl --enable-ftp --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --without-pear --enable-sockets --enable-bcmath --enable-fpm --enable-xml --enable-sockets --with-zlib --with-iconv --enable-soap --enable-pcntl --enable-cli --with-curl --enable-gd --with-external-gd --with-jpeg=/usr/local/jpeg/ --with-external-pcre
3.解決配置不成功問題
a.No package 'libpcre2-8' found
#1. No package 'libpcre2-8' found 解決方案
http://www.pcre.org/ --下載地址
https://master.dl.sourceforge.net/project/pcre/pcre2/10.34/pcre2-10.34.tar.bz2?viasf=1 --瀏覽器輸入這個地址,就可以下載
$ tar xjvf pcre2-10.34.tar.bz2
$ cd pcre2-10.34
$ ./configure --prefix=/usr/local/pcre2 \
--enable-pcre2-16 \
--enable-pcre2-32 \
--enable-jit \
--enable-jit-sealloc
$ sudo make && sudo make install
$ export PKG_CONFIG_PATH=/usr/local/pcre2/lib/pkgconfig/
b.之前安裝PHP遇到的其他問題
#2. No package 'libpng' found
# sudo apt-get install libpng-dev
#3. No package 'oniguruma' found方案:
Oniguruma是一個新式靈活的正則表達式庫,mbstring的正則表達式處理功能對它有依賴性。
編譯安裝
$ git clone https://github.com/kkos/oniguruma.git
$ cd oniguruma/
# 生成 configure
$ ./autogen.sh
# 檢測
$ ./configure --prefix=/usr/local
# 編譯及安裝
$ sudo make && sudo make install
#4. No package 'gdlib' found
sudo apt-get install libgd-dev
4.php配置成功
5.php的編譯與編譯安裝
# php的編譯與編譯安裝
$ sudo make && sudo make install
-- 編譯安裝較慢,需要耐心等待...(我這裡使用了10分鐘)
-- 安裝成功,記住以下配置
6.測試php是否安裝成功
# 使用絕對路徑
$ /usr/local/php/php8.1/bin/php -v
# 使用相對路徑
$ cd /usr/local/php/php8.1/bin
$ ./php -v