为了账号安全,请及时绑定邮箱和手机立即绑定

codeigniter 4 第一次使用 xampp 运行错误

codeigniter 4 第一次使用 xampp 运行错误

PHP
杨__羊羊 2023-08-11 17:25:11
Uncaught Error: Call to undefined function CodeIgniter\locale_set_default()  in C:\xampp\htdocs\sunpay-ci4\system\CodeIgniter.php:184  Stack trace:  #0 C:\xampp\htdocs\sunpay-ci4\system\bootstrap.php(181): CodeIgniter\CodeIgniter->initialize()  #1 C:\xampp\htdocs\sunpay-ci4\public\index.php(36): require('C:\\xampp\\htdocs...')  #2 {main} thrown in C:\xampp\htdocs\sunpay-ci4\system\CodeIgniter.php on line 184我不明白这个错误,如果我删除这个包,第一页就会工作。
查看完整描述

7 回答

?
富国沪深

TA贡献1790条经验 获得超9个赞

尝试从控制面板 打开php.ini : Apache row -> Config -> php.ini

;然后通过删除前面启用 intl 扩展extension=intl

编辑:它失败的原因是因为 xampp 中默认禁用 intl 扩展



查看完整回答
反对 回复 2023-08-11
?
慕的地10843

TA贡献1785条经验 获得超8个赞

最近我在 CI 4.0.4 版本上遇到了同样的问题。

请按照以下步骤修复它。

  1. 单击 xampp 控制面板中的“配置”。

https://img1.sycdn.imooc.com//64d5fea200019b5e06500420.jpg

  1. 然后单击 php.ini 选项。

    https://img1.sycdn.imooc.com//64d5feb50001bef206860426.jpg


  2. 然后它将在您的默认文本编辑器应用程序中打开(对我来说是记事本)。然后点击查找选项

  3. https://img1.sycdn.imooc.com//64d5feca0001f01c09520828.jpg

  4. 将“ ;extension=intl”替换为“ extension=intl”。

  5. 就这样。谢谢。

查看完整回答
反对 回复 2023-08-11
?
忽然笑

TA贡献1806条经验 获得超5个赞

  1. 通过将此代码phpinfo();die();放入您的index.php中来获取您的php版本<?php,所以它看起来像<?php phpinfo();die();

PHP 版本 7.2.24-0ubuntu0.18.04.7

  1. 跳转到/etc/php/{your php version}/apache2文件夹;示例:/etc/php/7.2/apache2打开 php.ini 然后找到;extension=intl并删除分号;

  2. 打开终端,然后写入或复制粘贴此命令sudo systemctl restart apache2,然后按 ENTER

  3. 在浏览器中再次打开 CI 4。

欢迎使用 CodeIgniter 4.0.4 功能强大的小框架

=================================================== ============================== 如果您仍然遇到相同的错误,请尝试在终端中使用以下命令安装 intl 扩展:

sudo apt install php{your php version}-intl
sudo systemctl restart apache2`

例子 :

sudo apt install php7.2-intl
sudo systemctl restart apache2

在浏览器中再次打开 CI 4。

欢迎使用 CodeIgniter 4.0.4 功能强大的小框架

=============================================================================

#NB:不要忘记删除 phpinfo();die(); 第一步,抱歉我的英语不好


查看完整回答
反对 回复 2023-08-11
?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

只需转到错误显示中提到的行即可。 C:\xampp\htdocs\sunpay-ci4\system\CodeIgniter.php:184

你可以在这里找到它:root folder/system/CodeIgniter.php

在第 184 行,您将找到以下代码。

locale_set_default($this->config->defaultLocale ?? 'en');

就像这样评论它。

#locale_set_default($this->config->defaultLocale ?? 'en');

现在,代码正在运行。


查看完整回答
反对 回复 2023-08-11
?
慕仙森

TA贡献1827条经验 获得超7个赞

1.通过从行首删除intl来搜索并取消注释该扩展名 2. 通过从 xampp 控制面板停止并重新启动 Apache 服务来重新启动它php.ini;extension=intl



查看完整回答
反对 回复 2023-08-11
?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

通常要解决这个问题,请尝试以下三点:

  1. 确保 .writable 文件夹可写,文件权限为 0777(必须有前导零)

  2. 尝试在index.php -> $_SERVER['CI_ENVIRONMENT'] = 'development'; 中设置以下内容 并在 .env 文件中使用 $_SERVER['CI_ENVIRONMENT'] = 'product' 进行切换;

  3. 在以下目录中访问此文件(CodeIgniter.php):project_folder/vendor/codeigniter4/framework/system/CodeIgniter.php

    公共函数initialize() { if( function_exists('locale_set_default' )): locale_set_default($this->config->defaultLocale ?? 'en'); 万一;}


查看完整回答
反对 回复 2023-08-11
?
慕虎7371278

TA贡献1802条经验 获得超4个赞

当我开始一个新项目时,我在欢迎屏幕上收到此错误。致命错误:未捕获错误://pp\Views\welcome_message.php:222 堆栈跟踪:#0 {main} 抛出。看起来好像是 codeigniter 安装有问题,但实际上是行中的 echo 错误welcom_message.php 页面的第 222 行转到那里,从第 222 行中删除 <?= CodeIgniter\CodeIgniter::CI_VERSION ?>它应该如下所示


 <div class="heroe">


        <h1>Welcome to CodeIgniter </h1>


        <h2>The small framework with powerful features</h2>


    </div>

然后它会正确回显你好屏幕



查看完整回答
反对 回复 2023-08-11
  • 7 回答
  • 0 关注
  • 158 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信