使用Apache的Laravel应用程序提供"使用未定义的常量MCRYPT_RIJNDAEL_128 - 假设' MCRYPT_RIJNDAEL_128'"

时间:2016-11-22 12:30:18

标签: apache laravel mcrypt

我是Laravel的新手,我的问题始于running-my-application阶段。出于某种原因,当我尝试在http://127.0.0.1/test/public/(我有Apache服务器)访问我的应用程序时出现此错误:

ErrorException in EncryptionServiceProvider.php line 16:
Use of undefined constant MCRYPT_RIJNDAEL_128 - assumed 'MCRYPT_RIJNDAEL_128'
in EncryptionServiceProvider.php line 16
at HandleExceptions->handleError('8', 'Use of undefined constant MCRYPT_RIJNDAEL_128 - assumed 'MCRYPT_RIJNDAEL_128'', '/srv/http/test/vendor/laravel/framework/src/Illuminate/Encryption/EncryptionServiceProvider.php', '16', array('app' => object(Application))) in EncryptionServiceProvider.php line 16
at EncryptionServiceProvider->Illuminate\Encryption\{closure}(object(Application), array()) in Container.php line 773
at Container->build(object(Closure), array()) in Container.php line 656
at Container->make('encrypter', array()) in Application.php line 613
at Application->make('Illuminate\Contracts\Encryption\Encrypter') in Container.php line 887
at Container->resolveClass(object(ReflectionParameter)) in Container.php line 848
at Container->getDependencies(array(object(ReflectionParameter)), array()) in Container.php line 813
at Container->build('Illuminate\Cookie\Middleware\EncryptCookies', array()) in Container.php line 656
at Container->make('Illuminate\Cookie\Middleware\EncryptCookies', array()) in Application.php line 613
at Application->make('Illuminate\Cookie\Middleware\EncryptCookies') in Pipeline.php line 124
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in CheckForMaintenanceMode.php line 42
at CheckForMaintenanceMode->handle(object(Request), object(Closure)) in Pipeline.php line 125
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 101
at Pipeline->then(object(Closure)) in Kernel.php line 111
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 84
at Kernel->handle(object(Request)) in index.php line 53

我的系统上安装了mcrypt:

[steelrat@archlinux test]$ php -m | grep mcrypt
mcrypt
[steelrat@archlinux test]$ php -i | grep mcrypt 
mcrypt
mcrypt support => enabled
mcrypt_filter support => enabled
mcrypt.algorithms_dir => no value => no value
mcrypt.modes_dir => no value => no value

此外,当我使用php artisan serve启动工匠网络服务器并使用http://localhost:8000访问它时,一切正常。这可能是什么问题?

我知道这个话题:Use of undefined constant MCRYPT_RIJNDAEL_128 - assumed 'MCRYPT_RIJNDAEL_128'。但它看起来不像我的情况。我的问题是它与工匠服务一起使用,并且不适用于apache。

1 个答案:

答案 0 :(得分:0)

取决于您的系统,但PHP CLI和PHP Apache通常是单独的php.ini

将以下内容添加到public/index.php

的顶部
<?php phpinfo(); exit;

这会告诉您mod_php了解的扩展程序以及加载的php.ini的位置