2

在将此标记为重复之前,请听我说完:)

我有几年在 Windows 上使用 PHP 的经验,甚至创建了 AMP 堆栈的便携式(用于 Windows)分发:https ://thejaka.com/tzwamp/我将其命名为“WAMP Zero”或 TZWAMP。我已经广泛使用了这个 WAMP 发行版,我认识的人也在使用它。最后一个(以前的)发行版运行良好,但是当我尝试将发行版更新到来自供应商/分销商站点的应用程序/组件的最新版本时,我遇到了障碍。新发行版不再加载 PHP 扩展。似乎一个或多个依赖项无法定位,但我不知道是什么或从哪里来的。我尝试在依赖项查看器中查看 php_mbstring.dll,但无法弄清楚这是怎么回事。缺少一些依赖项,但大多数似乎来自 CRT,我安装了最新的。我猜缺少的依赖项可以从 PATH 环境变量中解决。以下内容未加载:

php_mbstring.dll php_mysqli.dll php_openssl.dll php_pdo_mysql.dll php_mbstring.dll php_mysqli.dll php_openssl.dll php_pdo_mysql.dll

错误信息如下: PHP Warning: PHP Startup: Failed to load ......\php\ext\php_mbstring.dll,系统找不到指定的文件。

在开始抱怨相对路径之前,请注意在 7.3 上它运行良好。

ext dir的路径是相对指定的,但路径似乎是正确的。相同的路径在 TZWAMP 的先前发行版中运行良好,当我更改路径时,错误消息也会更改,导致我相信路径是正确的。另请注意,我也尝试将 php 路径添加到 PATH 环境变量。

成功运行的 PHP 版本是 7.3.10。有问题的 PHP 版本是 7.4.2。Apache 版本是 2.4.41

是否有人知道从 7.3.* 到 7.4.* 的任何相关更改,或者任何人都可以帮助我调试问题并解决它?

编辑:我已经检查过,绝对路径似乎有效。但是,为了使其可移植,需要相对路径。相对路径适用于 7.3,我相信以前的主要版本。有任何想法吗?

4

1 回答 1

0

通过使用环境变量替换,我现在已经根据我的要求解决了这个问题。

extension_dir = "${P}\php\ext"

但是,也欢迎使用相对路径解决方案。

于 2020-01-24T20:26:59.230 回答