macos系统内置php文件列表 系统自带php卸载方法

2024-09-06 21:28

本文主要是介绍macos系统内置php文件列表 系统自带php卸载方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在macos系统中, 自带已经安装了php, 根据不同的macos版本php的版本号可能不同, 我们可以通过 which php 命令来查看mac自带的默认php安装路径, 不过注意这个只是php的执行文件路径.

系统自带php文件列表

一下就是macos默认安装的php文件列表.

macos 10.15内置PHP文件列表
配置文件
/private/etc/php-fpm.conf.default
/private/etc/php-fpm.d
/private/etc/php.ini.default


可执行文件路径
/usr/bin/php
/usr/bin/php-config
/usr/bin/phpize

/usr/sbin/php-fpm

内置PHP的源码和扩展目录
/usr/lib/php/build 
/usr/lib/php/extensions

资源文件
/usr/share/php
/usr/share/man/man1/php-config.1
/usr/share/man/man1/php.1
/usr/share/man/man1/phpize.1
/usr/share/man/man8/php-fpm.8

macos系统自带php卸载方法

如果需要删除macos系统中自带的php,直接删除上面的这些文件或者目录即可.    删除方法 sudo  rm -rf  文件. 或者直接使用下面的shell脚本, 保存下面的代码到 uninstall_php.sh 然后执行 sh uninstall_php.sh 即可

#!/bin/bash
#macos 系统自带php卸载脚本
#配置文件
sudo rm -rf /private/etc/php-fpm.conf.default
sudo rm -rf /private/etc/php-fpm.d
sudo rm -rf /private/etc/php.ini.default#可执行文件路径
sudo rm -rf /usr/bin/php
sudo rm -rf /usr/bin/php-config
sudo rm -rf /usr/bin/phpize
sudo rm -rf /usr/sbin/php-fpm#内置PHP的源码和扩展目录
sudo rm -rf /usr/lib/php/build 
sudo rm -rf /usr/lib/php/extensions#资源文件
sudo rm -rf /usr/share/php
sudo rm -rf /usr/share/man/man1/php-config.1
sudo rm -rf /usr/share/man/man1/php.1
sudo rm -rf /usr/share/man/man1/phpize.1
sudo rm -rf /usr/share/man/man8/php-fpm.8echo "系统自带PHP卸载成功!"

Operation not permitted 异常解决方法

如果出现 Operation not permitted ,如下图

出现这个的原因是在acos10.11之后mac默认启用了Rootless机制, 这个是mac系统的内核保护机制, 既对于 /system、/sbin、/usr 三个目录下的文件,即使我们使用sudo 也不允许操作. 

解决方法就是关闭mac, 然后 在按电源键开机的同时按住 Command+R,进入恢复模式,在菜单栏中打开Terminal 使用命令 csrutil disable 来关闭Rootless机制

Read-only file system 解决方法

如果在关闭Rootless机制重启后操作/system、/sbin、/usr 三个目录下的文件任然提示 Read-only file system , 则需要再执行一个命令  sudo mount -uw /    然后在执行删除或者改名操作即可, 如:

系统自带php批量重命名shell脚本

保存下面的代码到 rename_php.sh 然后执行 sh rename_php.sh 即可将系统自带的php 改名为 php_bk ,  这样我们就可以使用 port 或者brew 来安装和管理我们想要的PHP版本了. 当然,如果希望使用系统自带的php版本, 直接执行  php_bk 既可以

#内置php可执行文件 改名_bk 脚本
sudo mv  /usr/bin/php  /usr/bin/php_bk
sudo mv  /usr/bin/php-config  /usr/bin/php-config_bk
sudo mv  /usr/bin/phpize  /usr/bin/phpize_bk
sudo mv  /usr/sbin/php-fpm  /usr/sbin/php-fpm_bk

总结:  对于macos系统自带的软件的卸载方式一般都是直接删除相关的文件即可. 当然这个方式也是linux系统中删除一些没有uninstall程序的软件的方法. macos系统自带的这个PHP一般情况下我们建议将php的那几个可执行文件改一下名字就可以了.

这篇关于macos系统内置php文件列表 系统自带php卸载方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1143160

相关文章

Maven 配置中的 <mirror>绕过 HTTP 阻断机制的方法

《Maven配置中的<mirror>绕过HTTP阻断机制的方法》:本文主要介绍Maven配置中的<mirror>绕过HTTP阻断机制的方法,本文给大家分享问题原因及解决方案,感兴趣的朋友一... 目录一、问题场景:升级 Maven 后构建失败二、解决方案:通过 <mirror> 配置覆盖默认行为1. 配置示

SpringBoot排查和解决JSON解析错误(400 Bad Request)的方法

《SpringBoot排查和解决JSON解析错误(400BadRequest)的方法》在开发SpringBootRESTfulAPI时,客户端与服务端的数据交互通常使用JSON格式,然而,JSON... 目录问题背景1. 问题描述2. 错误分析解决方案1. 手动重新输入jsON2. 使用工具清理JSON3.

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

Java中Map.Entry()含义及方法使用代码

《Java中Map.Entry()含义及方法使用代码》:本文主要介绍Java中Map.Entry()含义及方法使用的相关资料,Map.Entry是Java中Map的静态内部接口,用于表示键值对,其... 目录前言 Map.Entry作用核心方法常见使用场景1. 遍历 Map 的所有键值对2. 直接修改 Ma

Mybatis Plus Join使用方法示例详解

《MybatisPlusJoin使用方法示例详解》:本文主要介绍MybatisPlusJoin使用方法示例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录1、pom文件2、yaml配置文件3、分页插件4、示例代码:5、测试代码6、和PageHelper结合6

Java中实现线程的创建和启动的方法

《Java中实现线程的创建和启动的方法》在Java中,实现线程的创建和启动是两个不同但紧密相关的概念,理解为什么要启动线程(调用start()方法)而非直接调用run()方法,是掌握多线程编程的关键,... 目录1. 线程的生命周期2. start() vs run() 的本质区别3. 为什么必须通过 st

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构

C#之List集合去重复对象的实现方法

《C#之List集合去重复对象的实现方法》:本文主要介绍C#之List集合去重复对象的实现方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C# List集合去重复对象方法1、测试数据2、测试数据3、知识点补充总结C# List集合去重复对象方法1、测试数据

Linux系统中的firewall-offline-cmd详解(收藏版)

《Linux系统中的firewall-offline-cmd详解(收藏版)》firewall-offline-cmd是firewalld的一个命令行工具,专门设计用于在没有运行firewalld服务的... 目录主要用途基本语法选项1. 状态管理2. 区域管理3. 服务管理4. 端口管理5. ICMP 阻断

SpringBoot读取ZooKeeper(ZK)属性的方法实现

《SpringBoot读取ZooKeeper(ZK)属性的方法实现》本文主要介绍了SpringBoot读取ZooKeeper(ZK)属性的方法实现,强调使用@ConfigurationProperti... 目录1. 在配置文件中定义 ZK 属性application.propertiesapplicati