所以在我的
index.php
我有以下代码
$uri = '/dynamic-route/{id}/show/{name}';
$router_uri = preg_replace('/\{([a-z]+)\}/', '(?P<$1>\w+)', $uri);
$router_uri = str_replace('/', '\/', $router_uri);
var_dump( $router_uri );
这显示了
string(49) "\/dynamic-route\/(?P\w+)\/show\/(?P\w+)"
这是不正确的。
我尝试通过
php -a
在 php-cli 上执行相同的代码
这给了我
string(49) "\/dynamic-route\/(?P<id>\w+)\/show\/(?P<name>\w+)"
作为结果,这是我期待的正确结果。
我希望在 apache php 上的 php-cli 中得到相同的结果。
注意: 我还确保他们使用相同的 php 版本(8.2.12) 并加载相同的配置(我的意思是它是新安装的 xampp)
谢谢@FiddlingAway 指出了我错过的东西。
但是当我重新安装我的 xampp 后,这个问题就消失了..