Homebrew安装PHP 7.4后关于LDFLAGS与CPPFLAGS环境变量设置的疑问
关于Homebrew提示设置LDFLAGS和CPPFLAGS的疑问解答
先搞懂这两个命令的作用
这两个都是给C/C++编译器和链接器用的环境变量:
export LDFLAGS="-L/opt/homebrew/opt/php@7.4/lib":告诉链接器(比如ld),当编译需要依赖PHP的程序时,去指定目录找PHP的库文件(比如.dylib这类动态库)。export CPPFLAGS="-I/opt/homebrew/opt/php@7.4/include":告诉C/C++预处理器,去指定目录找PHP的头文件(比如.h格式的声明文件)。
简单说,它们是给「需要编译依赖PHP的软件/扩展」的场景准备的,和你日常运行PHP脚本、用PHP-FPM完全不搭边。
你需要执行这些命令吗?
如果只是日常用PHP跑脚本、搭Web服务、用composer管理依赖这类常规操作,完全不需要!你已经把PHP加到系统路径了,日常运行PHP相关的功能根本碰不到编译环节,所以这个提示对你来说可以直接忽略。
但如果之后你打算自己编译PHP扩展(比如某个小众的第三方扩展),或者编译其他需要调用PHP的程序,那这时候就需要设置这两个变量了——不然编译器会找不到PHP的库和头文件,导致编译失败。
运行这些命令会有危害吗?
完全没有!这些只是临时设置环境变量(如果你只是在终端里直接输入执行,重启终端后就失效了)。就算设置了,也只会影响编译器的搜索路径,不会干扰PHP本身的正常运行,更不会破坏你的系统。
补充一点原理
Homebrew的这个提示是通用型的,它不知道你安装PHP是用来日常运行还是用来做编译依赖,所以会把编译相关的配置提示给所有用户。对于普通PHP使用者来说,这个提示属于「有用但暂时用不上」的信息,不用纠结。如果之后真的需要编译相关内容,再临时执行这两个命令,或者把它们加到你的shell配置文件(比如~/.zshrc或~/.bash_profile)里,让每次终端启动都自动生效就行。
内容的提问来源于stack exchange,提问作者bdell
相关产品推荐
相关产品推荐

