搜尋
首頁後端開發PHP7如何安裝php7及安裝memcache擴充出現新舊php版本相容問題該怎麼辦

不知道你會不會安裝php7,也不知道你會不會處理安裝memcache擴充出現新舊php版本相容問題,今天小編就帶大家了解一下,有需要的可以參考參考。

如何安裝php7及安裝memcache擴充出現新舊php版本相容問題該怎麼辦

http://php.net/downloads.php

#安裝php-7.0.0 

首先安裝依賴程式如果已經安裝過請略過

yum install -y php-mcrypt libmcrypt libmcrypt-devel
yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel mysql pcre-devel
#openssl-devel是64位 如果是32位服务器请选择i386版的
yum install openssl-devel.x86_64
yum install curl curl-devel
yum -y install libxslt-devel
yum install -y php-mcrypt libmcrypt libmcrypt-devel mcrypt mhash
./configure --prefix=/usr/local/php7 \
--with-config-file-path=/usr/local/php7/etc \
--with-config-file-scan-dir=/usr/local/php7/etc/php.d \
--with-mcrypt \
--enable-mysqlnd \
--with-mysqli \
--with-pdo-mysql \
--enable-fpm \
--with-gd \
--with-iconv \
--with-zlib \
--enable-xml \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--enable-mbregex \
--enable-mbstring \
--enable-ftp \
--enable-gd-native-ttf \
--with-openssl \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-zip \
--enable-soap \
--without-pear \
--with-gettext \
--enable-session \
--with-curl \
--with-jpeg-dir \
--with-freetype-dir \
--enable-opcache

make &&  make install

可选
--with-fpm-user=www \
--with-fpm-group=www \

如果提示configure: error: mcrypt.h not found. Please reinstall libmcrypt. 

因為centos6.x 預設的yum來源沒有libmcrypt-devel 這個包,由於版權所有的原因,只能藉助第三方yum來源,或自行手動下載編譯安裝套件

wget http://jaist.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
./configure
make && make install

如果報checking for C compiler default output file name…configure: error: C compiler 

cannot create executables

yum list | grep c++
yum install gcc-c++.x86_64

如果提示undefined reference to `libiconv'則需要先安裝libiconv

--with-iconv=/usr/local/libiconv

如果還是報錯則vim Makefile 

找到EXTRA_LIBS = 

在最後面加上-liconv 

或直接make ZEND_EXTRA_LIBS='-liconv'

如果重新安裝的是舊版的php則需要重新編譯apache的LoadModule php5_module檔

./configure --with-apxs2=/usr/local/sbin/apxs

此時php7安裝完成

mv /usr/local/src/php-7.1.0/php.ini-production /usr/local/php7/etc/php.ini

啟用php-fpm服務

cd /usr/local/php7/etc
mv php-fpm.conf.default php-fpm.conf
mv php-fpm.d/www.conf.default php-fpm.d/www.conf

注意更改php-fpm.conf的user跟group否則可能會因為權限問題報File not found.

user = nobody
group = nobody

執行php-fpm

/usr/local/php7/sbin/php-fpm -c /usr/local/php7/etc/php.ini -y /usr/local/php7/etc/php-fpm.conf

如果想使用此指令service php-fpm start|stop|restart

cd /usr/local/src/php-7.1.0/sapi/fpm
ls
cp init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
chkconfig --add php-fpm
chkconfig php-fpm on

就可以使用sevice php-fpm start 來啟用php- fpm了。用 ps -ef | grep php-fpm 看看進程吧。

但是當我安裝memcache擴充的時候

http://pecl.php.net/package/memcache

安裝memcache-2.2.7 2012年的穩定版

#如果已安装过autoconf请忽略
autoconf
yum install autoconf

phpize
./configure --enable-memcache --with-php-config=/usr/local/php7/bin/php-config
make && make install

此時報致命錯誤/root/memcache-2.2.7/memcache.c:40:40: fatal error: ext/standard/php_smart_str.h: No such file or directory

# php_smart_str.h檔案不存在 

百度搜php_smart_string.h是給字串預處理動態申請記憶體空間,類似於作業系統中記憶體以頁為單位分配,它的好處是對齊記憶體位址,提高訪問速度。

發現php7已經把這個檔案改成php_smart_string.h 比較看2個檔案改動蠻大的

這個不知道是不是php官方開發群組的相容性沒有做好期待改善

推薦學習:php影片教學

以上是如何安裝php7及安裝memcache擴充出現新舊php版本相容問題該怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:CSDN。如有侵權,請聯絡admin@php.cn刪除

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

MantisBT

MantisBT

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

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

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

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用