php解释器没有配置,php-config: /bin/sh^M: 坏的解释器: 没有那个文件或目录

在Linux环境中配置PHP扩展时遇到php-config执行错误,原因是文件行尾存在Windows风格的回车换行符( ),导致‘坏的解释器’错误。解决方法是使用sed命令将所有以 结束的字符替换为空,从而修复文件。建议避免在Windows或类似wdcp的文件管理器中编辑系统文件,以防止此类问题发生。
摘要由CSDN通过智能技术生成

因为一些项目需要安装一些PHP扩展,在执行./configure时提示

php-config: /bin/sh^M: 坏的解释器: 没有那个文件或目录

最开始以为这个文件被修改了,最终和测试服务器上的php-config进行对比发现内容都一样,但是执行php-config返回的结果却不一样,最后执行cat命令查看才发现问题在哪儿

cat -A php-config

下面为有问题的文件内容截图,注意每行内容结尾多了个(^M)

86b1a278e7158e0d461d52a946b0e287.png

原来这跟wdcp有关,通过wdcp的文件管理器打开该文件编辑过后,每一行的结尾都会多出来一个字符\r,变成了\n\r,而在linux下文件的结尾是\n,那么在linux下打开看的时候每一行的结尾就会多出来一个字符\r,使用cat -A查看内容时\r会显示为^M

解决办法

下面为执行命令(把以\r结束的字符换成空白)

sed -i 's/\r$//' php-config

参数说明

-i 插入

s 替代模式

\r$ 表示任何以\r结束的字符

特别说明

在Windows下编辑过的文件结尾一样也是\n\r,所以上传Linux服务器后一样需要进行替换,所以不建议在Windows下面和wdcp的文件管理器对系统文件进行编辑,避免因为一些原因引起异常,造成损失那可就不好了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值