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

Posted 学知无涯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了致命错误:ext/standard/php_smart_str.h:没有那个文件或目录相关的知识,希望对你有一定的参考价值。

致命错误: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] 错误 1

二、原因:

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

    因为最新的 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:没有那个文件或目录的主要内容,如果未能解决你的问题,请参考以下文章

C# 中连接SQLServer 出现内部致命错误

使命召唤14致命错误怎么解决?

打开AutoCAD 文件就会弹出致命错误

重命名应用程序包生成致命错误“执行重构时发生致命错误”

天正总出现致命错误?是怎么回事儿?

游戏更新就出现发生致命错误Win32Error怎么回事