iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >如何解决安装php7及安装memcache扩展出现新旧php版本兼容问题
  • 403
分享到

如何解决安装php7及安装memcache扩展出现新旧php版本兼容问题

2023-06-20 17:06:57 403人浏览 薄情痞子
摘要

本篇内容主要讲解“如何解决安装PHP7及安装memcache扩展出现新旧php版本兼容问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何解决安装php7及安装memcache扩展出现新旧ph

本篇内容主要讲解“如何解决安装PHP7及安装memcache扩展出现新旧php版本兼容问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何解决安装php7及安装memcache扩展出现新旧php版本兼容问题”吧!

Http://php.net/downloads.php

安装php-7.0.0

首先安装依赖程序 如果已经安装过请略过

yum install -y php-mcrypt libmcrypt libmcrypt-develyum -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_64yum install curl curl-develyum -y install libxslt-develyum 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-opcachemake &&  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./configuremake && 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/etcmv php-fpm.conf.default php-fpm.confmv php-fpm.d/www.conf.default php-fpm.d/www.conf

注意更改php-fpm.conf的user跟group否则可能会因为权限问题报File not found.

user = nobodygroup = 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/fpmlscp init.d.php-fpm /etc/init.d/php-fpmchmod +x /etc/init.d/php-fpmchkconfig --add php-fpmchkconfig 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请忽略autoconfyum install autoconfphpize./configure --enable-memcache --with-php-config=/usr/local/php7/bin/php-configmake && 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官方开发组的兼容性没有做好 期待改善

到此,相信大家对“如何解决安装php7及安装memcache扩展出现新旧php版本兼容问题”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: 如何解决安装php7及安装memcache扩展出现新旧php版本兼容问题

本文链接: https://www.lsjlt.com/news/298494.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作