如何在 Mac OS X Catalina 中的 PHP 上加载 memcached?

How to load memcached on PHP in Mac OS X Catalina?

在过去的 3 个小时里,我几乎已经尝试了所有可能的方法。我似乎无法在 PHP 上加载它。我能够通过 brew install memcached 安装它,并通过 memcached -d 成功地将它 运行 作为后台服务。但这并不是我真正想要的。

我正在考虑将其加载为我的 PHP 模块之一。终端上的 运行 php -m 根本没有列出 memcached。在 运行 上看 phpinfo()print_r(get_loaded_extensions()); 都没有给我任何运气。我正在尝试通过 extension_loaded('memcached') 之类的方式在我的项目中正式访问它,当然,这个 returns 是一个虚假的值 atm.

我尝试过如下解决方案:

How to install memcached module for php@7.1 on MacOS High Sierra?

https://donatstudios.com/OS-X-Mavericks-Memcached-PHP-Extension-Installation

Can I install the memcached PHP extension with PECL?

大多数解决方案与上面链接的类似。不幸的是,由于与此类似的问题,这对我不起作用:

我在执行 make 命令时也遇到以下错误:

make: *** No targets specified and no makefile found. Stop.

并且在运行ning ./configure

时出现以下错误

checking for session includes... configure: error: Cannot find php_session.h

同时,由于以下错误,我也无法尝试通过 pecl install memcached 安装:

configuration download directory "/tmp/pear/install" is not writeable. Change download_dir config variable to a writeable dir to avoid this warning

基本上一切都不起作用。老实说,我什至不知道如何开始写这个问题,所以我只是把所有东西都扔在这里。

自从 Catalina 以来,最近没有关于在 PHP 上安装 memcached 的讨论也无济于事。许多资源只有 5 年历史,这不是一个好兆头,其中一些甚至不再是有效的解决方案。

我快疯了。为什么这个东西配置起来如此复杂是我无法理解的。如果有人能给我指出正确的方向,那就太好了!

你为什么不试试 vagrant box。您将获得一个您选择的虚拟环境,在几分钟内安装一个 ubuntu 环境,您可以获得一个现成的 LAMP 或 MEAN / MERN vagrant box。

步骤:

1) 下载并安装virtualbox。 2)下载并安装Vagrant 3) 前往终端

检查是否安装了vagrant

vagrant -v

为了让 ubuntu 盒子旋转起来,运行 这些命令。

vagrant init ubuntu/trusty64

它会在几分钟内为您下载一个 ubuntu 框。

vagrant up vagrant ssh

看看 vagrant 你会喜欢的。

还有很多现成的盒子 Vagrant boxes

文档:[Vagrant Document]

所以我在 2 个工作日后找到了解决方案。你应该做的是放弃使用 macOS 中的内置 Apache/PHP 并使用 Homebrew 中的

以下是我执行的描述性分步过程:

1) 卸载内置的 Apache。

2) 通过 brew install httpd 从 Homebrew 安装新的 Apache,然后 运行 服务

3) 通过 brew install php

安装 PHP

4) 从/usr/local/etc/httpd/配置httpd.conf,包括加载Homebrew PHP模块,mod_rewrite,设置DirectoryIndex,ServerName,默认监听端口等

4.1) 如果您使用的是虚拟主机,请在 /usr/local/etc/httpd/extra/

上进行设置

5) 配置 ~/.bash_profile 以使用新的 PHP 版本(通过 php -vwhich php 测试)

6) 安装 PEAR

7) 通过 PEAR 安装 memcached


我整理了一份链接列表供您使用:

Apache & PHP 安装

https://tecadmin.net/install-apache-macos-homebrew/

https://getgrav.org/blog/macos-catalina-apache-multiple-php-versions

https://gist.github.com/DragonBe/0faebe58deced34744953e3bf6afbec7

按照 brew info php 将 Homebrew PHP 配置为 Homebrew Apache

配置 bash 配置文件以默认使用自制软件 php

How to use the php that brew installed?

安装 PEAR 并配置

https://jasonmccreary.me/articles/install-pear-pecl-mac

通过 PEAR 安装 memcached

pecl install memcached 然后按照说明进行操作

How to install memcached module for php@7.1 on MacOS High Sierra?

https://donatstudios.com/OS-X-Mavericks-Memcached-PHP-Extension-Installation

Can I install the memcached PHP extension with PECL?