从网上找到类似答复:

(二)兼容问题
1. 给PHP 7安装扩展时,居然报了这个错:error: ext/standard/php_smart_str.h: No such file or directory。之前给PHP 5.6.7装这个扩展可没出过问题,于是顺手搜了一下文件位置:
➜ find / -name php_smart_str.h
/usr/local/php/include/php/ext/standard/php_smart_str.h
/usr/local/src/php-5.4.35/ext/standard/php_smart_str.h
/usr/local/src/php-5.6.7/ext/standard/php_smart_str.h
结果很有意思:两个旧版本的源码包里都有这个文件,当前安装的PHP目录里也有,但PHP 7的源码包和安装目录里却怎么也找不到它。再仔细看看:
➜ ls /usr/local/src/php-5.6.7/ext/standard | grep php_smart_str
php_smart_str.h
php_smart_str_public.h
➜ ls ~/Downloads/php-7.0.0alpha1/ext/standard | grep php_smart_str
php_smart_string.h
php_smart_string_public.h
原来PHP 7的源码包里换成了 php_smart_string.h 这个文件。用Bcompare对比了一下两个文件,差异非常大。先不管这个头文件具体是干什么用的——老版本有而PHP 7里没有,这本身就是一个典型的兼容性问题。