
PHP 语言
PHP,即 PHP: Hypertext Preprocessor,是一种被广泛应用的开源通用脚本语言,尤其适用于 Web 开发并可嵌入 HTML 中去。它的语法利用了 C、Java 和 Perl,易于学习。该语言的主要目标是允许 web 开发人员快速编写动态生成的 web 页面,但 PHP 的用途远不只于此。
如果你觉得我是在记录学习 PHP 语言,那么你错了。
我喜欢各种语言倒腾,兴趣索然。
在一段时间之后,我觉得我需要安装 php 语言来玩一下,结果在安装的过程中出现了很多问题,出钱就可以搞定的,可是在代码方面,我的信仰就是 free is better!那么,就开始说说,为什么那么难。
我使用苹果电脑,但是系统是 12 的,所以连 brew 都发出了警告。
Warning: You are using macOS 12.
We (and Apple) do not provide support for this old version.
This is a Tier 3 configuration:
https://docs.brew.sh/Support-Tiers#tier-3
You can report Tier 3 unrelated issues to Homebrew/* repositories!
Read the above document instead before opening any issues or PRs.
我也没有管那么多,就直接使用了,最简单的安装模式。
brew install php
结果 aom 这个组件下载出现了问题。
==> Fetching downloads for: aom
==> Fetching aom
==> Downloading https://raw.githubusercontent.com/Homebrew/homebrew-core/1a1b9d75324468d64c8fb4cdcad0a1b7b1dfdd77/Formula/a/a
Already downloaded: /Users/guoby/Library/Caches/Homebrew/downloads/a1b767bed2aca5ec4c557cbe0201bfce5c0437929c77c98e67bda2f502642518--aom.rb
==> Cloning https://aomedia.googlesource.com/aom.git
Cloning into '/Users/guoby/Library/Caches/Homebrew/aom--git'...
fatal: unable to access 'https://aomedia.googlesource.com/aom.git/': Failed to connect to aomedia.googlesource.com port 443 after 75123 ms: Couldn't connect to server
Error: aom: Failed to download resource "aom"
Failure while executing; `/usr/bin/env git clone --branch v3.12.1 --config advice.detachedHead=false --config core.fsmonitor=false https://aomedia.googlesource.com/aom.git /Users/guoby/Library/Caches/Homebrew/aom--git` exited with 128. Here's the output:
Cloning into '/Users/guoby/Library/Caches/Homebrew/aom--git'...
fatal: unable to access 'https://aomedia.googlesource.com/aom.git/': Failed to connect to aomedia.googlesource.com port 443 after 75123 ms: Couldn't connect to server
问题很明显,需要科学上网才能搞定,我想,要不,我想想其他的办法,就咨询了豆包。
豆包给出了几个解决方案,我试了都不行后,最后使用了她给的一种解决办法,也是我觉得比较靠谱的,就是绕过 brew 的安装,自己本地编译。
豆包给的 aom 的地址已经不可以用了,所以我又自行找来了一个地址,感谢码云,感谢作者。
https://gitee.com/sjh8130/aom
这个比较靠谱,有 3.12.1版本,比我之前找的要好,我把我走的坑就省略了,直接说正确的发生。
下载之后,迁出 3.12.1版本。
git checkout v3.12.1
如果报错,说明版本有问题,要看看是否有该版本。
> $ git checkout v3.12.1 [±main ✓]
错误:路径规格 'v3.12.1' 未匹配任何 git 已知文件
查看版本信息:
git tag -l
迁出正确版本后,开始进入编译。
cd build
如果按照豆包给出的这个编译项,那么完了,从开始就放弃,或许是最好的选择。
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_SHARED_LIBS=ON
正确的应该是这样的:
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/Cellar/aom/3.12.1 -DBUILD_SHARED_LIBS=ON
要问为什么,就是在 brew link 的时候,它是在 Cellar 下创建了 aom 文件夹,文件夹后是版本信息 3.12.1。
不然报这个错误:
> $ brew link aom [±10aece4157 ●]
Error: No such keg: /usr/local/Cellar/aom
接上面的,开始编译:
make -j$(nproc)
编译完成后,安装。(如果有权限问题,加个 sudo)
make install
完成后,让 brew 直接链接,告诉 brew 不要再安装 aom 了。
> $ brew link --force aom [±10aece4157 ●]
Linking /usr/local/Cellar/aom/3.12.1... 8 symlinks created.
那么,终于回归主题,安装 php。
brew install php
可以想象一下,电脑的性能。
==> Summary
🍺 /usr/local/Cellar/php/8.4.10: 523 files, 107.2MB, built in 22 minutes 28 seconds
最后,hello, world.
1. 创建index.php页面
<html>
<head>
<title>Example</title>
</head>
<body>
<?php
echo "Hi, I'm a PHP script!";
?>
<?php phpinfo(); ?>
</body>
</html>
2. 运行php
php -S localhost:8080 index.php
结束了吗?已经结束了。
总结,在使用豆包的时候,豆包可以快速的给出解决方案,但是还是需要甄别,思考,不然,真的从入门到放弃了。
不管怎么说,php 在艰难的情况安装了,不学习一下怪对不起自己一天的努力的。或许,在某一天,好好的记录一下学习过程。我的学习思路是,看官方文档。