github email
Php Code

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 在艰难的情况安装了,不学习一下怪对不起自己一天的努力的。或许,在某一天,好好的记录一下学习过程。我的学习思路是,看官方文档。