致命错误:ext/standard/php_smart_str.h:没有那个文件或目录


参考文章:https://blog.csdn.net/jartins/article/details/80371257


一、发生背景:

  安装php-redis扩展时,打开php官网下载扩展,选择了版本redis-2.2.5.tgz。

  下载路径是:https://pecl.php.net/get/redis-2.2.5.tgz。
  然后使用make编译时,报错:

...
...,致命错误:ext/standard/php_smart_str.h:没有那个文件或目录
...
编译中断。
make: *** [redis.lo] 错误

二、原因:

  在网上搜索后,得到的说法是:

    因为最新的 phpredis 分了几大分支,针对最新的PHP稳定发行版 php7 有专门为php7的分支,
    所以我们从github拉下phpredis 源码。


三、解决:

  (1)然后打开github,搜索phpredis。
    点击搜索结果的第一个:phpredis/phpredis(https://github.com/phpredis/phpredis)
    点击页面中的releases(https://github.com/phpredis/phpredis/releases)
    选择最新版本4.3.0(https://github.com/phpredis/phpredis/archive/4.3.0.tar.gz)

  (2)下载:
    wget https://github.com/phpredis/phpredis/archive/4.3.0.tar.gz
  (3)重命名
    (个人习惯:下载后文件叫4.3.0.tar.gz,只有版本没有名字,重命名一下,phpredis-4.3.0.tar.gz)
    mv 4.3.0.tar.gz phpredis-4.3.0.tar.gz
  (4)解压
    tar -zxvf phpredis-4.3.0.tar.gz
  (5)进入目录
    cd phpredis-4.3.0
  (6)使用phpize解压
    phpize
  (7)配置
    ./configure --with-php-config=/usr/local/php7/bin/php-config
  (8)编译
    make
  (9)安装
    make install
  安装结果:
  Installing shared extensions: /usr/local/php7/lib/php/extensions/no-debug-non-zts-20180731/
  表示安装成功!


致命错误:ext/standard/php_smart_str.h:没有那个文件或目录的更多相关文章

  1. mac centos linux 安装PHP扩展 INTL(国际化) ———— error: 'ext/standard/php_smart_str.h'

    PHP简单源码安装扩展 五个步骤: 详细说明下: cd /fujieace/php7.0/ext/intl:#进入INTL扩展目录? 在编译扩展时候需要phpize准备环境,准备程序需要获取这个目录的 ...

  2. linux使用php动态安装模块mysqli.so(ext/mysqlnd/mysqlnd.h: 没有那个文件或目录)

    由于我先安装的php,再安装的mysql! 正常过程: 1.安装mysql 2.安装php configure时带–with-mysql参数 现在我不想重装,因此使用phpize动态安装mysqli, ...

  3. error: stdio.h: 没有那个文件或目录

    在64位系统中,编写一个C语言程序后,使用gcc进行编译时,出现了如下的错误: test.c:1:19: fatal  error: stdio.h: 没有那个文件或目录 #include <s ...

  4. fatal error: openssl/evp.h: 没有那个文件或目录

    在陆佳华<嵌入式系统软硬件协同设计实战指南 第2版>一书的第13章节 编译U-boot时会遇到2个错误.原因很简单,就从一开始的错误提示着手: fatal error: openssl/e ...

  5. busybox编译 fatal error: curses.h: 没有那个文件或目录解决办法

    执行make menuconfig时出现如下错误@ubuntu:/home/dev/busybox-1.19.3# make menuconfig HOSTCC scripts/kconfig/lxd ...

  6. 【caffe编译】 fatal error: hdf5.h: 没有那个文件或目录

    src/caffe/layers/hdf5_output_layer.cpp:3:18: fatal error: hdf5.h: 没有那个文件或目录 查找文件 locate hdf5.h 修改Mak ...

  7. “fatal error: hdf5.h: 没有那个文件或目录”解决方法

    問題一: Installing Caffe without CUDA: fatal error: cublas_v2.h No such file: 在Makefile.config中修改,將CPU_ ...

  8. fastdfs+nginx make时报错fatal error:fdfs_define.h: 没有那个文件或目录

    环境: ubuntu 18.04.1 fastdfs-nginx-module_v1.16 root@wang-machine:~/桌面/FastDFS# cd nginx-1.8.1/root@wa ...

  9. 如何解决编译linux内核(解决声卡问题),遭遇fatal error: linux/limits.h: 没有那个文件或目录

    最近帮一位上海的朋友搞一块小板,在ubuntu15.04 vivid上已经加载了对应了.ko驱动包 但关键是系统根本就枚举不到该声卡ALC5640,试了OpenSUSE也是一样的结果,看来是内核漏加载 ...

随机推荐

  1. React支持装饰器

    在用mobx时用到了装饰器,无奈环境不支持装饰器,搜索了半天,网上教程乱七八糟,最后想到了babel官网上肯定有,一搜果然有,安装教程 见Babel官网. 最快捷的教程是官网文档

  2. nodejs 静态资源服务与接口代理跨域

    首先需要 npm install express 和 npm install request 代码如下: const express = require('express'); const path ...

  3. 【单调队列】P1886 滑动窗口

    GET 单调队列 题目描述 现在有一堆数字共N个数字(N<=10^6),以及一个大小为k的窗口.现在这个从左边开始向右滑动,每次滑动一个单位,求出每次滑动后窗口中的最大值和最小值. 例如: Th ...

  4. python从列表中删除相邻重复元素

    这里以一个栗子来用三种方法实现,输入a=['1','1','2','2','1','1'],输出b=['1', '2', '1'] 方法一: list1 = ['] def del_adjacent( ...

  5. php 常用函数集合(持续更新中...)

    php 常用函数集合 在php的开发中,巧妙的运用php自带的一些函数,会起到事半功倍的效果,在此,主要记录一些常用的函数 1.time(),microtime()函数 time():获取当前时间戳 ...

  6. Running OOM killer script for process 32248 for Solr on port 8983

    Running OOM killer script for process 32248 for Solr on port 8983 分析1 https://blog.csdn.net/qq_41665 ...

  7. Mysql显示某个数据库的所有表

    显示表名: show tables; //先用use进入要查看表的库 mysql> use mysql; Database changed mysql> show tables; +--- ...

  8. chrome无界面模式headless配置

    引入Options: 配置浏览器: 配置浏览器options,然后传入webdriver.Chrome()就可以成功使用了.

  9. 线程中更新ui方法汇总

    一.为何写作此文   你是不是经常看到很多书籍中说:不能在子线程中操作ui,不然会报错.你是不是也遇到了如下的疑惑(见下面的代码): @Override protected void onCreate ...

  10. Ubuntu超简单文书编辑器:nano

    nano 的使用很简单,可以直接加上档名就能够开启一个旧档或新档! 直接在终端输入指令:nano text.txt,如下图所示打开的是已有的文档! 第一部分反白部分,是nano的版本与档名 第二部分可 ...