php - 更新后如何修复 PHP 模块问题
问题描述
我认为这个问题已经被问过了,但是有这么多不同的条件,我认为我的问题有点独特,如果我错了,请纠正我。
在我的旧 MacBook 上进行 PHP 更新后,我得到了这个响应。使用 curl PHP 安装命令:
curl -s https://php-osx.liip.ch/install.sh | bash -s 7.3
这是我安装后的结果,我在终端上使用“PHP -v”命令检查我的版本
PHP Warning: PHP Startup: curl: Unable to initialize module
Module compiled with module API=20160303
PHP compiled with module API=20180731
These options need to match
in Unknown on line 0
Warning: PHP Startup: curl: Unable to initialize module
Module compiled with module API=20160303
PHP compiled with module API=20180731
These options need to match
in Unknown on line 0
etc
在行尾也有这个错误:
Deprecated: Directive 'track_errors' is deprecated in Unknown on line 0
PHP 7.3.0beta3 (cli) (built: Sep 3 2018 11:26:01) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.0-dev, Copyright (c) 1998-2018 Zend Technologies
PHP 7.3.0beta3 是我以前的版本。
已尝试使用命令行重新安装相同版本的 PHP,但仍然无法正常工作。
curl -s https://php-osx.liip.ch/install.sh | bash -s 7.3.0beta3
我知道一些与版本不匹配的东西。但我究竟是如何解决它的。我一直在搜索整个互联网,但没有找到任何适合我的解决方案。我在这里搜索的大多数问题尚未标记为“有效的解决方案”。大概是我理解错了。
请问有谁有解决办法吗?!我迫切需要答案。谢谢
仅供参考:我的 MacOS 是 Yosemite 10.10.5
///////////////////
更新1: 我已经在这个链接上检查了这个解决方案
但它不起作用,因为该解决方案需要我安装 PECL / PEAR,并且该安装程序将通过 PHP 命令运行。这对我来说是坏的。
///////////////////
更新 2: 我检查了 'usr/local/php5' 上的快捷方式文件,它引用了错误的目录,所以我将其重命名为 'php5-old' 并从我的旧 php 目录创建了一个新别名并重命名它' php5'。
当我运行“php -v”命令时,它会显示一个不同的错误:
dyld: Library not loaded: /usr/local/php5/lib/libtidy-0.99.0.dylib
Referenced from: /usr/local/php5-7.3.0beta3-20180903-112811/bin/php
Reason: no suitable image found. Did find:
/usr/local/php5/lib/libtidy-0.99.0.dylib: stat() failed with errno=20
Trace/BPT trap: 5
我不知道该怎么办。我确实检查了那个“libtidy-0.99.0.dylib”文件,并且仍然在同一个目录中。
///////////////////
更新 3: 这不是最佳做法。但我已经有了临时解决方案。我开始明白我的 UPDATE 2 中的问题来自 'usr/local/php5',但是我创建了一个不起作用的新别名,我重命名了 'php5' 引用目录并添加了“-old”前缀。并且应该工作的原始文件夹“php5-7.3.0beta3-20180903-112811”,我重命名为“php5”别名所指的文件夹名称。PHP 现在可以工作了。
但是还有一个问题:“Apache Web 服务器”仍然没有运行。
解决方案
所以当我的 Mac 本身有另一个问题(我真的不知道它是什么)时,这个问题看起来就会发生。
所以到目前为止最好的解决方案(从一开始就试图避免这种情况)是创建一个新用户并将其安装为一台新的笔记本电脑......就是这样。正常工作
推荐阅读
- git - 设置新的裸仓库(不包括少数目录)
- python - 如何访问 django 模板中 url 的下一个令牌?
- java - 如何解决 SocketException?
- docker - 从私有注册表中提供 Docker 映像中的 SSL 证书或在每次启动时创建一个?
- javascript - 将响应(文件)从 Django 传递到 JavaScript
- grafana - Grafana 自定义时间范围仅适用于一个面板
- ruby-on-rails - Rails:资产中托管的图像的网址是什么?
- c++ - 为什么逐个元素填充字符串的长度为零?
- node.js - 将二进制图像保存到文件
- oracle - Oracle occi - 来自 unix 时间的时间戳