如何安装php7及安装memcache扩展出现新旧php版本兼容问题该怎么办

不知道你是否会安装php7,也不知道你是否会处理安装memcache扩展出现新旧php版本兼容问题,今天小编就带大家了解一下,有需要的可以参考参考。

如何安装php7及安装memcache扩展出现新旧php版本兼容问题该怎么办

http://php.net/downloads.php

安装php-7.0.0 

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

立即学习“PHP免费学习笔记(深入)”;

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官方开发组的兼容性没有做好 期待改善

推荐学习:php视频教程

以上就是如何安装php7及安装memcache扩展出现新旧php版本兼容问题该怎么办的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1968473.html

(0)
上一篇 2025年2月23日 07:24:00
下一篇 2025年2月23日 07:24:15

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 如何编译php7安装目录

    编译php7安装目录的方法是:1、下载PHP7的源代码,并解压到本地目录中;2、安装所需依赖包,以确保PHP7能够正常运行;3、进入PHP7源代码目录,配置PHP7的编译参数;4、执行命令编译并安装PHP7即可。 本教程操作系统:Linux…

    2025年2月23日
    100
  • php7如何安装oauth2扩展

    php7安装oauth2扩展的方法:1、下载符合PHP版本的OAuth2扩展;2、解压文件并移动到PHP扩展目录;3、配置PHP.ini文件,找到Dynamic Extensions字段,并添加相应内容;4、使用“httpd -k rest…

    2025年2月23日
    100
  • php7和php5语法有什么区别

    php7和php5语法区别有:1、PHP7引入了严格的类型声明,而PHP5变量的类型是隐式的;2、PHP7引入了对标量类型声明的支持,而PHP5并没有;3、PHP7引入了NULL合并运算符,而PHP5检查一个变量是否存在并且不为null,需…

    2025年2月23日
    100
  • php7优化了哪些

    php7优化了:1、PHP7引入了一个新的Zend引擎,名为Zend Engine 3.0;2、PHP7提供了更好的内存管理,减少了内存泄漏和垃圾回收的成本;3、PHP7还引入了新的语言特性,提高代码的可读性和安全性;4、PHP7还改进了错…

    2025年2月23日
    100
  • php7弃用的函数有哪些

    php7弃用的函数有mysql_系列函数、ereg_ 系列函数、split()函数、create_function()函数、mcrypt_系列函数和iconv()函数等。详细介绍:1、mysql_系列函数,在PHP7中,mysql_系列函数…

    2025年2月23日
    100
  • php7的版本和5有哪些不同

    php7的版本和5的不同有性能提升、标量类型声明、返回值类型声明、异常处理改进、匿名类、语法改进、新的运算符、增强的错误处理和移除了一些旧特性等。详细介绍:1、性能提升,PHP7引入了全新的Zend引擎,名为Zend Engine 3.0,…

    2025年2月23日
    100
  • 简述PHP7加入了哪些新的特性

    PHP 7 引入了以下新特性:性能提升:通过 JIT(即时编译)和 HHVM 集成提高速度。错误处理改进:引入异常处理和类型提示以提高代码的可读性和安全性。新函数和类:添加了密码哈希算法和数据结构,以增强安全性并简化数据处理。语法增强:引入…

    2025年2月23日
    100
  • php怎么实现局部替换功能

    PHP局部替换字符串的方法有:使用str_replace()函数替换指定部分、mb_substr_replace()函数替换多字节部分、preg_replace()函数使用正则表达式替换,或者通过子字符串截取与拼接替换特定部分。 PHP 局…

    2025年2月23日
    100
  • php环境配置教程

    PHP 环境配置包括六个步骤:安装 PHP 扩展:下载扩展包、解压、修改 php.ini、重启 Web 服务器。安装 MySQL 扩展:安装 MySQL 客户端、下载扩展包、解压、修改 php.ini、重启 Web 服务器。安装 Compo…

    2025年2月23日
    100
  • php如何配置web服务器

    配置 PHP Web 服务器涉及五个步骤:安装 PHP配置 Web 服务器(Apache 或 NGINX)设置 PHP 处理程序重启 Web 服务器测试 PHP 如何配置 PHP Web 服务器 配置 PHP Web 服务器涉及设置服务器以…

    2025年2月23日
    100

发表回复

登录后才能评论