我已经有几天这个问题而且它真的开始惹恼我,因为我无法弄清楚我做错了什么。无论如何,我正在尝试在laravel
上设置localhost
项目。我做的第一件事是:
composer create-project laravel/larvel test-project
这为框架组织了各种组件,并在web root
中创建了一个项目。在此之后,我导航到此URL
http://localhost/test-project/public/
正如预期的那样,我得到laravel
欢迎页面,以显示我的项目已成功设置。但是,当我刷新页面时,我得到以下错误,该错误与openSSL
模块有关:
RuntimeException thrown with message "OpenSSL extension is required."
Stacktrace:
#8 RuntimeException in C:\wamp\www\test-project\bootstrap\compiled.php:8375
#7 Illuminate\Encryption\Encrypter:validMac in C:\wamp\www\test-project\bootstrap\compiled.php:8367
#6 Illuminate\Encryption\Encrypter:getJsonPayload in C:\wamp\www\test-project\bootstrap\compiled.php:8348
#5 Illuminate\Encryption\Encrypter:decrypt in C:\wamp\www\test-project\bootstrap\compiled.php:8271
#4 Illuminate\Cookie\Guard:decryptCookie in C:\wamp\www\test-project\bootstrap\compiled.php:8262
#3 Illuminate\Cookie\Guard:decrypt in C:\wamp\www\test-project\bootstrap\compiled.php:8256
#2 Illuminate\Cookie\Guard:handle in C:\wamp\www\test-project\bootstrap\compiled.php:10895
#1 Stack\StackedHttpKernel:handle in C:\wamp\www\test-project\bootstrap\compiled.php:659
#0 Illuminate\Foundation\Application:run in C:\wamp\www\test-project\public\index.php:49
现在我遇到的问题是这个。我确保openSSL
被激活了。我通过运行以下命令php --ini
来完成此操作,该命令向我展示了php.ini
文件的路径composer
将用于创建项目。它位于以下目录中:
C:/wamp/bin/php/php5.4.3/
我取消注释了这一行:
extension=php_openssl.dll
并重新启动WAMP
,但问题仍然存在。我想知道是否有人可以对这种令人难以置信的恼人情况有所了解,因为我相信在创建项目之前我已经小心确保安装了必要的组件。
我知道apache使用了一个不同的php.ini
文件,只是为了确保这不是问题,我也没有触及同一行(上图)。但是,根据我在使用composer
创建项目时的理解,它不使用此php.ini
。
如果您需要更多信息,我很乐意提供。我似乎已经用尽所有选项,除了WAMP
的全新安装,我宁愿不必这样做。我很感激任何帮助。
答案 0 :(得分:1)
好的,首先你需要知道的是WampServer中有2个php.ini文件。
C:/wamp/bin/php/php5.4.3/php.ini
中的ONE ,当您使用PHPCLI(命令行界面)时,即运行时使用此
composer create-project laravel/larvel test-project
因此,如果php.exe CLI需要访问特定扩展,则必须编辑此扩展名。
TWO \wamp\bin\apache\apachex.y.z\bin
文件夹中还有一个。这是Apache使用的,当您使用wampmanager菜单时进行编辑,您应该使用菜单来访问它,因为这可以确保您编辑正确的文件。
left click wampmanager -> PHP -> php.ini
因此,如果网站需要访问特定扩展程序,则必须对此进行编辑
所以我成像你编辑了错误的文件,但很容易修复。
一旦编辑了正确的文件以激活openssl,您的下一个问题可能是这两个文件可能需要从PHP
文件夹复制到apachex.y.z/bin
文件夹。确保您复制而不是移动,因为CLI的PHP文件夹中也需要它们。
libeay32.dll
ssleay32.dll
一旦完成,你应该好好去。