首页 > 解决方案 > 更新后如何修复 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 服务器”仍然没有运行。

标签: phpmacos

解决方案


所以当我的 Mac 本身有另一个问题(我真的不知道它是什么)时,这个问题看起来就会发生。

所以到目前为止最好的解决方案(从一开始就试图避免这种情况)是创建一个新用户并将其安装为一台新的笔记本电脑......就是这样。正常工作


推荐阅读