首先推荐一篇文章php 7 Release Date Arrived: Will Developers Adopt PHP 7? - PHP Classes blog。 里面说到是否会去使用PHP7,就个人而言,我是毫不犹豫地使用的,但是生产环境就不是我说了算,所以只能自己在自己的开发环境里更新PHP的版本。那么,你呢?
首先推荐一篇文章php 7 Release Date Arrived: Will Developers Adopt PHP 7? - PHP Classes blog。
里面说到是否会去使用PHP7,就个人而言,我是毫不犹豫地使用的,但是生产环境就不是我说了算,所以只能自己在自己的开发环境里更新PHP的版本。那么,你呢?
笔者使用的是linux的openSUSE42.1发行版,Yast里面还没有PHP7的安装包,于是乎只能自己手动编译安装了。作为一个PHP开发者,我是非常希望能够学会编译安装PHP7的,之前试过几次,但是每次安装都要上网找各种资料,于是乎,这次安装成功后就想把自己的安装过程以及遇到的问题记录下来,方便以后查阅和分享给需要的人。
下载源码并解压
进入正题,要编译安装PHP7,首先当然要下载PHP7的源码。你可以到github上clone,也可以到PHP官网下载。下载后解压到 /usr/local/src 目录,并将目录重命名为php7。进入目录。
配置编译参数
生成配置文件
./buildconf
配置
./<span style="color: #000000;">configure \ </span>--PRefix=/usr/local/<span style="color: #000000;">php7 \ </span>--exec-prefix=/usr/local/<span style="color: #000000;">php7 \ </span>--bindir=/usr/local/php7/<span style="color: #000000;">bin \ </span>--sbindir=/usr/local/php7/<span style="color: #000000;">sbin \ </span>--includedir=/usr/local/php7/<span style="color: #000000;">include \ </span>--libdir=/usr/local/php7/lib/<span style="color: #000000;">php \ </span>--mandir=/usr/local/php7/php/<span style="color: #0000ff;">man</span><span style="color: #000000;"> \ </span>--with-config-<span style="color: #0000ff;">file</span>-path=/usr/local/php7/<span style="color: #000000;">etc \ </span>--with-MySQL-sock=/var/run/mysql/<span style="color: #000000;">mysql.sock \ </span>--with-mcrypt=/usr/<span style="color: #000000;">include \ </span>--with-<span style="color: #000000;">mhash \ </span>--with-<span style="color: #000000;">openssl \ </span>--with-mysqli=<span style="color: #000000;">shared,mysqlnd \ </span>--with-pdo-mysql=<span style="color: #000000;">shared,mysqlnd \ </span>--with-<span style="color: #000000;">gd \ </span>--with-<span style="color: #000000;">iconv \ </span>--with-<span style="color: #000000;">zlib \ </span>--enable-<span style="color: #0000ff;">zip</span><span style="color: #000000;"> \ </span>--enable-inline-<span style="color: #000000;">optimization \ </span>--disable-<span style="color: #000000;">debug \ </span>--disable-<span style="color: #000000;">rpath \ </span>--enable-<span style="color: #000000;">shared \ </span>--enable-<span style="color: #000000;">xml \ </span>--enable-<span style="color: #000000;">bcmath \ </span>--enable-<span style="color: #000000;">shmop \ </span>--enable-<span style="color: #000000;">sysvsem \ </span>--enable-<span style="color: #000000;">mbregex \ </span>--enable-<span style="color: #000000;">mbstring \ </span>--enable-<span style="color: #0000ff;">ftp</span><span style="color: #000000;"> \ </span>--enable-gd-native-<span style="color: #000000;">ttf \ </span>--enable-<span style="color: #000000;">pcntl \ </span>--enable-<span style="color: #000000;">sockets \ </span>--with-<span style="color: #000000;">xmlrpc \ </span>--enable-<span style="color: #000000;">soap \ </span>--without-<span style="color: #000000;">pear \ </span>--with-<span style="color: #000000;">gettext \ </span>--enable-<span style="color: #000000;">session \ </span>--with-<span style="color: #000000;">curl \ </span>--with-jpeg-<span style="color: #0000ff;">dir</span><span style="color: #000000;"> \ </span>--with-freetype-<span style="color: #0000ff;">dir</span><span style="color: #000000;"> \ </span>--enable-<span style="color: #000000;">opcache \ </span>--enable-<span style="color: #000000;">fpm \ </span>--disable-<span style="color: #000000;">cgi \ </span>--with-fpm-user=<span style="color: #000000;">nginx \ </span>--with-fpm-group=<span style="color: #000000;">nginx \ </span>--without-<span style="color: #000000;">gdbm \ </span>--disable-fileinfo
参数说明
prefix PHP7安装的根目录
with-config-file-path PHP7的配置文件目录
执行完上面的配置命令后的结果如下图所示:
执行上面命令的过程中会遇到一些依赖缺少的提示,下面列出我遇到的依赖问题:
错误:
configure: error: xml2-config not found. Please check your libxml2 installation.
解决:
zypper <span style="color: #0000ff;">install</span> libxml2-devel
错误:
configure: WARNING: unrecognized options: --with-mysql
解决:
取消这个选项,这个选项是不存在的
错误:
configure: error: jpeglib.h not found.
解决:
zypper <span style="color: #0000ff;">install</span> libjpeg-devel
错误:
configure: error: mcrypt.h not found. Please reinstall libmcrypt.
解决:
zypper <span style="color: #0000ff;">install</span> libmcrypt-devel
错误:
checking <span style="color: #0000ff;">for</span><span style="color: #000000;"> recode support... yes configure: error: Can not </span><span style="color: #0000ff;">find</span> recode.h anywhere under /usr /usr/local /usr /opt.
解决:
zypper <span style="color: #0000ff;">install</span> librecode-devel
总的来说,在配置的时候遇到没有的就打开Yast搜一下,如果有的话就安装,然后重新编译看还需要那些,如果在Yast找不到,那就上网找一下Google。
编译和安装PHP7
<span style="color: #0000ff;">make</span> && <span style="color: #0000ff;">make</span> <span style="color: #0000ff;">install</span>
其中,make之后可以选择make test。只是一个可选步骤,不执行不知道有什么问题,不过笔者暂时还没遇到。
查看安装成功后的PHP7目录
编译安装成功后,查看PHP7的安装目录`ls /usr/local/php7`:
设置PHP7的配置文件
<span style="color: #0000ff;">cp</span> /usr/local/src/php7/php.ini-production /usr/local/php7/etc/<span style="color: #000000;">php.ini </span><span style="color: #0000ff;">cp</span> /usr/local/src/sapi/fpm/init.d.php-fpm /etc/init.d/php-<span style="color: #000000;">fpm </span><span style="color: #0000ff;">cp</span> /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-<span style="color: #000000;">fpm.conf </span><span style="color: #0000ff;">cp</span> /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf
设置环境变量
在/etc/profile 文件的最后一行加上
export PATH=/usr/local/php7/bin:/usr/local/php7/sbin:$PATH
然后执行 source /etc/profile
设置PHP日志目录和php-fpm进程文件(php-fpm.sock)目录
<span style="color: #0000ff;">mkdir</span> -p /var/log/php-fpm/ && <span style="color: #0000ff;">mkdir</span> -p /var/run/php-fpm && cd /var/run/ && <span style="color: #0000ff;">chown</span> -R nginx:nginx php-fpm
将PHP设置为开机启动
<span style="color: #0000ff;">chmod</span> +x /etc/init.d/php-<span style="color: #000000;">fpm chkconfig php</span>-fpm on
可以用chkconfig命令查看开机启动服务列表。
启动PHP服务
service php-fpm start
通过ps aux | grep 'php'查看PHP是否启动成功
至此,PHP7就安装成功了,你也开始使用PHP7吧!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Dreamweaver CS6
視覺化網頁開發工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。