无法安装 PHP,因为错误:php:无法下载资源“freetds”

问题描述 投票:0回答:2

我正在尝试使用自制软件在我的 M1 Macbook 上安装 PHP。当我运行

brew install php
时,出现以下错误:

Error: php: Failed to download resource "freetds"
Download failed: Homebrew-installed `curl` is not installed for: https://www.freetds.org/files/stable/freetds-1.3.18.tar.bz2

我研究了这个问题,发现了另一个解决我的具体问题的问题:

下载失败:未安装自制软件安装的 `curl`

这个问题的唯一答案是安装curl,所以我运行了

brew install curl
并让它运行了漫长的下载和安装。完成后,我再次运行
brew install php
,但我仍然遇到相同的错误,因此这个问题中的解决方案并没有解决我的问题。

检查卷曲度

我认为brew安装中一定出了问题,所以我再次运行它并在最后注意到这个输出:

==> Installing curl dependency: [email protected]
==> perl ./Configure --prefix=/Users/ciesinsg/homebrew/Cellar/[email protected]/1.1.1u --openssldir=/Users/
==> make
Last 15 lines from /Users/ciesinsg/Library/Logs/Homebrew/[email protected]/02.make:
clang  -I. -Iinclude -fPIC -arch arm64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/Users/ciesinsg/homebrew/etc/[email protected]\"" -DENGINESDIR="\"/Users/ciesinsg/homebrew/Cellar/[email protected]/1.1.1u/lib/engines-1.1\"" -D_REENTRANT -DNDEBUG  -MMD -MF crypto/sha/sha1_one.d.tmp -MT crypto/sha/sha1_one.o -c -o crypto/sha/sha1_one.o crypto/sha/sha1_one.c
clang  -I. -Iinclude -fPIC -arch arm64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/Users/ciesinsg/homebrew/etc/[email protected]\"" -DENGINESDIR="\"/Users/ciesinsg/homebrew/Cellar/[email protected]/1.1.1u/lib/engines-1.1\"" -D_REENTRANT -DNDEBUG  -MMD -MF crypto/sha/sha1dgst.d.tmp -MT crypto/sha/sha1dgst.o -c -o crypto/sha/sha1dgst.o crypto/sha/sha1dgst.c
CC="clang" perl crypto/sha/asm/sha512-armv8.pl ios64 crypto/sha/sha256-armv8.S
clang  -I. -Iinclude -fPIC -arch arm64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/Users/ciesinsg/homebrew/etc/[email protected]\"" -DENGINESDIR="\"/Users/ciesinsg/homebrew/Cellar/[email protected]/1.1.1u/lib/engines-1.1\"" -D_REENTRANT -DNDEBUG  -MMD -MF crypto/sha/sha256.d.tmp -MT crypto/sha/sha256.o -c -o crypto/sha/sha256.o crypto/sha/sha256.c
CC="clang" perl crypto/sha/asm/sha512-armv8.pl ios64 crypto/sha/sha512-armv8.S
clang  -I. -Iinclude -fPIC -arch arm64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/Users/ciesinsg/homebrew/etc/[email protected]\"" -DENGINESDIR="\"/Users/ciesinsg/homebrew/Cellar/[email protected]/1.1.1u/lib/engines-1.1\"" -D_REENTRANT -DNDEBUG  -MMD -MF crypto/sha/sha512.d.tmp -MT crypto/sha/sha512.o -c -o crypto/sha/sha512.o crypto/sha/sha512.c
make[1]: /bin/sh: line 1:  1129 Killed: 9               mv crypto/seed/seed_ofb.d.tmp crypto/seed/seed_ofb.d
*** [crypto/sha/sha1_one.o] Killed: 9
make[1]: *** Waiting for unfinished jobs....
make[1]: error closing STDOUT:  at crypto/sha/asm/sha1-armv8.pl line 364.
*** [crypto/sha/sha1dgst.o] Killed: 9
make[1]: *** [crypto/sha/sha512.o] Killed: 9
make[1]: *** [crypto/sha/sha1-armv8.S] Error 255
make[1]: *** [crypto/seed/seed_ofb.o] Error 137
make: *** [all] Error 2

Do not report this issue to Homebrew/brew or Homebrew/homebrew-core!

我运行了

curl --version
,发现似乎已安装了一个版本:

curl 7.88.1 (x86_64-apple-darwin22.0) libcurl/7.88.1 (SecureTransport) LibreSSL/3.3.6 zlib/1.2.11 nghttp2/1.51.0
Release-Date: 2023-02-20
Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps mqtt pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: alt-svc AsynchDNS GSS-API HSTS HTTP2 HTTPS-proxy IPv6 Kerberos Largefile libz MultiSSL NTLM NTLM_WB SPNEGO SSL threadsafe UnixSockets

所以我不确定为什么它无法安装 freetds 或者为什么它会抛出有关 curl 的错误。有谁知道这可能是什么原因造成的吗?

附加信息:

Macbook Pro M2 MacOS:文图拉 13.4

php macos curl installation freetds
2个回答
1
投票

我在 Homebrew 讨论门户上发布了,并获得了一些解决问题的帮助:

首先,运行

brew doctor
来查看安装是否存在任何问题。就我而言,由于我工作中的安全策略,我的 IT 团队将 Homebrew 安装在错误的位置,这导致了
brew doctor
输出:

警告:您的 Homebrew 的前缀不是 /opt/homebrew。

就我而言,当

Apple Silicon
mac 应该在 /home/homebrew 中安装自制软件时,我已经在
/home/opt/homebrew
中安装了自制软件。请记住,如果您有 Intel mac,安装位置应为
/usr/local
。无论如何,根据 docs,您应该将其安装在正确的位置,以使前缀正确并避免错误。

在重新安装过程中,公司的安全策略限制了我对

/opt/
文件夹的访问,导致错误
/opt/homebrew is not writeable
。我能够通过使用
sudo chown -R $(whoami) /opt/homebrew
更改所有权来解决此问题。

这终于让我完成了安装并确保它正常工作

/opt/homebrew
。再次运行
brew doctor
会产生输出:

您的系统已准备好冲泡。

问题立即得到解决,我现在可以毫无问题地安装 PHP。


0
投票

我在 macOS Catalina(版本:10.15.7)上遇到了类似的错误

==> Fetching freetds
==> Downloading https://raw.githubusercontent.com/Homebrew/homebrew-core/3b86f97c8ccb9e13d56cb9a1ac36de85037155f8/Formula/f/freetds.rb
Error: php: Failed to download resource "freetds"
Download failed: Homebrew-installed `curl` is not installed for: https://www.freetds.org/files/stable/freetds-1.4.23.tar.bz2

首先安装curl :

brew install curl

我成功安装了 PHP,没有任何错误

brew install php

最后一点。我的 Macbook Pro 2.7Mhz Core i7 16Gb 内存(2013 年初)花了 16 个多小时才安装curl 和 php!

© www.soinside.com 2019 - 2024. All rights reserved.