Linux – 软件编译安装 – 学习/实践

1.应用场景

主要用于在Linux,*nix下进行软件的编译安装,以及学习各个目录的用处。

2.学习/操作

1.文档阅读

TBD

2.整理输出

2.1 编译安装是什么h2>

2.2 编译安装的步骤h2>

2.3 编译安装的选择的目录h2>

2.4 编译安装后的各种文件的目录h2>

后续补充

3.问题/补充

1. Linux的usr目录的全称是什么h3>

usr是user的缩写,是曾经的HOME目录,然而现在已经被/home取代了,现在usr被称为是Unix System Resource,即Unix系统资源的缩写。

/usr 是系统核心所在,包含了所有的共享文件。它是 unix 系统中最重要的目录之一,涵盖了二进制文件,各种文档,各种头文件,还有各种库文件;还有诸多程序,例如 ftp,telnet 等等。

曾经的 /usr 还是用户的家目录,存放着各种用户文件 —— 现在已经被 /home 取代了(例如 /usr/someone 已经改为 /home/someone)。

现代的 /usr 只专门存放各种程序和数据,用户目录已经转移。

虽然 /usr 名称未改,不过其含义已经从“用户目录”变成了“unix 系统资源”目录。值得注意的是,在一些 unix 系统上,仍然把 /usr/someone 当做用户家目录,如 Minix。

补充

lib pwd

/usr/local/lib — 本机安装的各种库文件

lib ls

php

libnghttp2.14.dylib         pkgconfig

libnghttp2.a                python3.9

如:尤其是编程语言的核心扩展包,如:PHP,安装的扩展如,redis,xdebug等都在该php目录下。

lib cd php

php ls

20210902 build    pecl

php

pecl ls

20170718 20210902

pecl pwd

/usr/local/lib/php/pecl

pecl

这里之所以会有两个目录,因为本机安装了两个PHP版本

20170718用于PHP7.2

20210902用户PHP8.1

也是这个原因,导致了一个问题,在安装扩展的时候,没有指明为哪个PHP版本安装扩展,导致错乱,

尤其是在 1.先使用pecl install xdebug 之后 — 默认使用的是PHP8.1,创建了20210902目录,并且存放xdebug.so文件,而且还会存放其他核心扩展文件。

2. 然后使用phpize为php7.2编译安装xdebug,

结果导致PHP 8.1/7.2 都不能正在运行脚本

执行php -v都 错~

错信息:

pecl php -v

PHP Warning:  Failed loading Zend extension ‘xdebug.so’ (tried: /usr/local/Cellar/php/8.1.1/lib/php/20210902/xdebug.so (dlopen(/usr/local/Cellar/php/8.1.1/lib/php/20210902/xdebug.so, 0x0009): tried: ‘/usr/local/Cellar/php/8.1.1/lib/php/20210902/xdebug.so’ (no such file), ‘/usr/local/lib/xdebug.so’ (no such file), ‘/usr/lib/xdebug.so’ (no such file)), /usr/local/Cellar/php/8.1.1/lib/php/20210902/xdebug.so.so (dlopen(/usr/local/Cellar/php/8.1.1/lib/php/20210902/xdebug.so.so, 0x0009): tried: ‘/usr/local/Cellar/php/8.1.1/lib/php/20210902/xdebug.so.so’ (no such file), ‘/usr/local/lib/xdebug.so.so’ (no such file), ‘/usr/lib/xdebug.so.so’ (no such file))) in Unknown on line 0

Warning: Failed loading Zend extension ‘xdebug.so’ (tried: /usr/local/Cellar/php/8.1.1/lib/php/20210902/xdebug.so (dlopen(/usr/local/Cellar/php/8.1.1/lib/php/20210902/xdebug.so, 0x0009): tried: ‘/usr/local/Cellar/php/8.1.1/lib/php/20210902/xdebug.so’ (no such file), ‘/usr/local/lib/xdebug.so’ (no such file), ‘/usr/lib/xdebug.so’ (no such file)), /usr/local/Cellar/php/8.1.1/lib/php/20210902/xdebug.so.so (dlopen(/usr/local/Cellar/php/8.1.1/lib/php/20210902/xdebug.so.so, 0x0009): tried: ‘/usr/local/Cellar/php/8.1.1/lib/php/20210902/xdebug.so.so’ (no such file), ‘/usr/local/lib/xdebug.so.so’ (no such file), ‘/usr/lib/xdebug.so.so’ (no such file))) in Unknown on line 0

PHP 8.1.1 (cli) (built: Dec 17 2021 22:38:05) (NTS)

Copyright (c) The PHP Group

Zend Engine v4.1.1, Copyright (c) Zend Technologies

    with Zend OPcache v8.1.1, Copyright (c), by Zend Technologies

pecl

解决办法:

4.参考

参见上面文档列表

后续补充

文章知识点与官方知识档案匹配,可进一步学习相关知识CS入门技能树Linux入门初识Linux25328 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年4月20日
下一篇 2022年4月21日

相关推荐