【问题标题】:Globally installed Phalcon PHP devtools do not work on Windows 10, Why?全局安装的 Phalcon PHP devtools 无法在 Windows 10 上运行,为什么?
【发布时间】:2022-01-05 13:24:57
【问题描述】:

我按照https://docs.phalcon.io/3.4/en/webserver-wamp 中的说明安装了 Phalcon PHP。 在这种情况下,URL 显示为 3.4,因为它同样适用于版本 4 和 5。

WAMP 服务器版本为 3.2.6,配置 PHP 8.0.13

到目前为止一切都很好,所以我继续使用 https://docs.phalcon.io/5.0/en/devtools 中描述的 composer 安装开发者工具。

Composer 是全局安装的,开发者工具也是如此,但是当我在命令窗口中输入“phalcon”时,显示以下错误:

C:\>phalcon

Fatal error: Uncaught Error: Class "Phalcon\Script" not found in C:\Users\Joachim\AppData\Roaming\Composer\vendor\phalcon\devtools\phalcon.php:38
Stack trace:
#0 {main}
  thrown in C:\Users\Joachim\AppData\Roaming\Composer\vendor\phalcon\devtools\phalcon.php on line 38

C:\>

PSR 和 Phalcon 扩展已成功安装,我可以在 WAMP 本地主机页面中看到它们。 Path 环境变量包含 phalcon、composer、wamp 等的路径,据我所见,没有任何遗漏。

有人处理过这个错误吗?

可能是什么问题?

【问题讨论】:

  • 如果有人问,我根据我的架构下载了以下文件:phalcon-php8.0-ts-windows2019-vs16-x64.zipphp_psr-1.2.0-8.0-ts-vs16-x64.zip
  • 其他 PHP Web 应用程序(包括 Laravel)在我当前的 WAMP 服务器上运行良好,因此所有要求都已正确安装。我尝试在另一个目录中手动安装 Phalcon dev-tools,下载一个 .zip 文件并相应地配置环境变量。它也没有工作。
  • 小注 任何 WAMPServer 文件夹都不应设置在 PATH 上。 WAMPServer 太灵活了,不能像那样受到约束

标签: wampserver phalcon phalcon-devtools


【解决方案1】:

我回答这个问题有点晚了,但如果其他人通过谷歌偶然发现它,问题是 Phalcon4 和 Phalcon5 之间的一些命名空间已经改变。我相信Phalcon\Config 就是其中之一。

在为 Phalcon5 更新开发工具之前,您要么需要手动构建脚手架,要么复制旧的 Phalcon 3 或 4 项目并更新命名空间。

不幸的是,使用 alpha/beta 版本的风险。

【讨论】:

    【解决方案2】:

    您没有提到哪个 phalcon 版本,但由于您使用的是 php 8,因此支持 php 8 的唯一版本是 phalcon 5

    您的问题很可能出现在 cli 的 php.ini 中,因为 wamp 对 apache 和 cli 使用不同的文件。

    要解决此问题,首先删除全局安装的 devtools 包,然后编辑 [wampDir]\bin\php\php8.0.13\php.ini 中的 cli php.ini 并包含 psr 和 phalcon 并使用 composer 再次安装 devtools

    您也可以下载phar文件here并在cli中测试

    php phalcon.phar
    

    【讨论】:

    • 你是对的。我安装了 Phalcon PHP 版本 5.0.0 Alpha7 和 Phalcon DevTools 版本:4.2.0
    • 检查了正在使用的PHP CLI和Web版本后,我重新启动了WAMP,在PHP错误日志中发现了这个错误:
    • [12-Jan-2022 14:13:38 UTC] PHP 警告:PHP 启动:无法加载动态库 'php_phalcon.dll'(已尝试:c:/wamp64/bin/php/php8 .1.0/ext/php_phalcon.dll(找不到指定的程序),c:/wamp64/bin/php/php8.1.0/ext/php_php_phalcon.dll.dll(找不到指定的模块))未知在第 0 行 [2022 年 1 月 12 日 14:13:38 UTC] PHP 警告:PHP 启动:psr:无法初始化模块 使用模块 API=20200930 编译的模块 使用模块 API=20210902 编译的 PHP 这些选项需要在未知上匹配第 0 行
    • Phalcon 命令正在运行,但是当我尝试创建项目时抛出相同的错误:Fatal error: Uncaught Error: Class "Phalcon\Config" not found in C:\web\app\devTools\src\Builder\Component\AbstractComponent.php:48
    • 您现在的问题是 php 的 cli 版本是 php8.1.0 将其更改为 8.0.13 通过右键单击 wamp 服务器托盘图标然后工具然后更改 php cli 版本
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-19
    • 2012-09-02
    • 1970-01-01
    • 2014-06-07
    相关资源
    最近更新 更多