调用未定义函数 CodeIgniter\locale_set_default() - Xampp
Call to undefined function CodeIgniter\locale_set_default() - Xampp
我正在尝试使用 Xampp 设置 Codeigniter4,但是在调用 public 地址 http://localhost/projectfolder/public/index.php
时,如 CodeIgniter4 框架的 README.md
文件中所述,出现下一个错误:
<br />
<b>Fatal error</b>: Uncaught Error: Call to undefined function CodeIgniter\locale_set_default() in
C:\xampp\htdocs\codeigniter4\system\CodeIgniter.php:184
Stack trace:
#0 C:\xampp\htdocs\codeigniter4\system\bootstrap.php(181): CodeIgniter\CodeIgniter->initialize()
#1 C:\xampp\htdocs\codeigniter4\public\index.php(36): require('C:\xampp\htdocs...')
#2 {main}
thrown in <b>C:\xampp\htdocs\codeigniter4\system\CodeIgniter.php</b> on line <b>184</b><br />
我试过这个 但它对我不起作用。
有人知道怎么解决吗?
我在 here 中找到了我的临时解决方案,但没有更新 Xampp 中的 PHP 版本。
转到 C:\xampp\htdocs\projectfolder\system\CodeIgniter.php - line 184
并更改下一行。
之前:
locale_set_default($this->config->defaultLocale ?? 'en');
之后:
if( function_exists('locale_set_default' ) ) :
locale_set_default($this->config->defaultLocale ?? 'en');
endif;
一旦我将 Xampp 更新到 7.4 版本(download here), I just needed to enable the extension=intl
in the xampp\php\php.ini
file. As it is explained here,您只需取消注释从 ;extension=intl
到 extension=intl
的行。
那么你可以让 C:\xampp\htdocs\projectfolder\system\CodeIgniter.php - line 184
保持原样。
locale_set_default($this->config->defaultLocale ?? 'en');
问题的根源在于您缺少 PHP 扩展名。
特别是:
请记住,框架的存储库 README.md 文件中清楚地 说明了这一点。
PHP version 7.4 or higher is required, with the following extensions
installed:
Additionally, make sure that the following extensions are enabled in
your PHP:
- json (enabled by default - don't turn it off)
- xml (enabled by default - don't turn it off)
- mysqlnd
另外,这里也指出:
Bug: Missing function locale_set_default(...) #3171
Please install intl
extension - this is a required component.
我正在尝试使用 Xampp 设置 Codeigniter4,但是在调用 public 地址 http://localhost/projectfolder/public/index.php
时,如 CodeIgniter4 框架的 README.md
文件中所述,出现下一个错误:
<br />
<b>Fatal error</b>: Uncaught Error: Call to undefined function CodeIgniter\locale_set_default() in
C:\xampp\htdocs\codeigniter4\system\CodeIgniter.php:184
Stack trace:
#0 C:\xampp\htdocs\codeigniter4\system\bootstrap.php(181): CodeIgniter\CodeIgniter->initialize()
#1 C:\xampp\htdocs\codeigniter4\public\index.php(36): require('C:\xampp\htdocs...')
#2 {main}
thrown in <b>C:\xampp\htdocs\codeigniter4\system\CodeIgniter.php</b> on line <b>184</b><br />
我试过这个
有人知道怎么解决吗?
我在 here 中找到了我的临时解决方案,但没有更新 Xampp 中的 PHP 版本。
转到 C:\xampp\htdocs\projectfolder\system\CodeIgniter.php - line 184
并更改下一行。
之前:
locale_set_default($this->config->defaultLocale ?? 'en');
之后:
if( function_exists('locale_set_default' ) ) :
locale_set_default($this->config->defaultLocale ?? 'en');
endif;
一旦我将 Xampp 更新到 7.4 版本(download here), I just needed to enable the extension=intl
in the xampp\php\php.ini
file. As it is explained here,您只需取消注释从 ;extension=intl
到 extension=intl
的行。
那么你可以让 C:\xampp\htdocs\projectfolder\system\CodeIgniter.php - line 184
保持原样。
locale_set_default($this->config->defaultLocale ?? 'en');
问题的根源在于您缺少 PHP 扩展名。 特别是:
请记住,框架的存储库 README.md 文件中清楚地 说明了这一点。
PHP version 7.4 or higher is required, with the following extensions installed:
Additionally, make sure that the following extensions are enabled in your PHP:
- json (enabled by default - don't turn it off)
- xml (enabled by default - don't turn it off)
- mysqlnd
另外,这里也指出:
Bug: Missing function locale_set_default(...) #3171
Please install
intl
extension - this is a required component.