解决Laravel新项目创建失败:缺失openssl扩展问题
Laravel Herd创建项目提示openssl扩展未安装的解决方法
问题描述
我想用Laravel框架开发网站,之前通过XAMPP搭配Composer在USB设备上安装过Laravel并创建新项目。现在想在本地电脑使用PHP内置Web服务器开发,因此安装了Laravel Herd简化操作,但执行laravel new portfolio命令时出现错误,提示openssl扩展未安装,无法创建新项目。
错误信息如下:
C:\Users\Moosa\Documents\Projects\My Website>laravel new portfolio _ _ | | | | | | __ _ _ __ __ ___ _____| | | | / _` | '__/ _` \ \ / / _ \ | | |___| (_| | | | (_| |\ V / __/ | |______\__,_|_| \__,_| \_/ \___|_| In NewCommand.php line 189: The following PHP extensions are required but are not installed: openssl new [--dev] [--git] [--branch BRANCH] [--github [GITHUB]] [--organization ORGANIZATION] [--database DATABASE] [--stack [STACK]] [--breeze] [--jet] [--dark] [--typescript] [--eslint] [--ssr] [--api] [--teams] [--verification] [--pest] [--phpunit] [--prompt-breeze] [--prompt-jetstream] [-f|--force] [--] <name> C:\Users\Moosa\Documents\Projects\My Website>
环境版本信息:
C:\Users\Moosa\Documents\Projects\My Website>herd --version Herd 1.14.0 C:\Users\Moosa\Documents\Projects\My Website>php --version PHP 8.3.1 (cli) (built: Dec 20 2023 14:06:30) (NTS Visual C++ 2019 x64) Copyright (c) The PHP Group Zend Engine v4.3.1, Copyright (c) Zend Technologies C:\Users\Moosa\Documents\Projects\My Website>laravel --version Laravel Installer 5.11.1 C:\Users\Moosa\Documents\Projects\My Website>composer --version Composer version 2.8.4 2024-12-11 11:57:47 PHP version 8.3.1 (C:\tools\php83\php.exe) Run the "diagnose" command to get more detailed diagnostics output. C:\Users\Moosa\Documents\Projects\My Website>node --version v22.12.0
解决步骤
1. 定位Herd对应的PHP配置文件
打开Laravel Herd,点击右上角菜单进入「Settings」,找到当前使用的PHP版本(这里是PHP 8.3)对应的配置文件路径,一般位于C:\Users\[你的用户名]\AppData\Roaming\Herd\php\83目录下。
2. 启用openssl扩展
- 找到该目录下的
php.ini文件,用记事本或专业文本编辑器打开。 - 搜索
extension=openssl,去掉行首的分号;(如果存在),确保此行未被注释。 - 保存修改后的
php.ini文件。
3. 重启Herd服务
在Herd主界面左下角点击「Restart」按钮,重启Herd的PHP服务,让配置生效。
4. 验证扩展状态
打开命令提示符,执行以下命令:
php -m
在输出的模块列表中确认openssl存在,说明扩展已启用。
5. 重新创建项目
再次执行创建命令:
laravel new portfolio
备选方案:用Composer直接创建
如果上述方法仍无法解决,可跳过Laravel Installer,直接用Composer创建项目:
composer create-project laravel/laravel portfolio
内容的提问来源于stack exchange,提问作者moosa
相关产品推荐
相关产品推荐

