服务器上部署了一个项目,使用file_get_contents()函数访问https接口是正常的。当然我配置了php.ini中的 openssl扩展
extension=openssl
也配置了证书的地址
openssl.cafile=/www/wwwroot/a.test.com/cacert.pem
现在将代码复制了一份,目录为 b.test.com ,然后将 a.test.com 这个目录删除。修改了php.ini中的证书路径为
openssl.cafile=/www/wwwroot/b.test.com/cacert.pem
重新加载了php的配置,重启了php,重启了nginx。
但是现在报错
ErrorException: failed loading cafile stream: `/www/wwwroot/a.test.com/cacert.pem' in /www/wwwroot/b.test.com/app/Utils/HttpUtil.php:31
Stack trace:
#0 [internal function]: Illuminate\Foundation\Bootstrap\HandleExceptions->handleError()
#1 /www/wwwroot/b.test.com/app/Utils/HttpUtil.php(31): file_get_contents()
#2 /www/wwwroot/b.test.com/app/Utils/Message/WechatMessageClient.php(73): App\Utils\HttpUtil::sendWechatPost()
#3 /www/wwwroot/b.test.com/app/Jobs/WechatUnitMsgQueue.php(42): App\Utils\Message\WechatMessageClient::sendUniformMsg()
#4 /www/wwwroot/b.test.com/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): App\Jobs\WechatUnitMsgQueue->handle()
#5 /www/wwwroot/b.test.com/vendor/laravel/framework/src/Illuminate/Container/Util.php(37): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
#6 /www/wwwroot/b.test.com/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\Container\Util::unwrapIfClosure()
#7 /www/wwwroot/b.test.com/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(37): Illuminate\Container\BoundMethod::callBoundMethod()
#8 /www/wwwroot/b.test.com/vendor/laravel/framework/src/Illuminate/Container/Container.php(596): Illuminate\Container\BoundMethod::call()
#9 /www/wwwroot/b.test.com/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(94): Illuminate\Container\Container->call()
#10 /www/wwwroot/b.test.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\Bus\Dispatcher->Illuminate\Bus\{closure}()
#11 /www/wwwroot/b.test.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#12 /www/wwwroot/b.test.com/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(98): Illuminate\Pipeline\Pipeline->then()
#13 /www/wwwroot/b.test.com/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(83): Illuminate\Bus\Dispatcher->dispatchNow()
#14 /www/wwwroot/b.test.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\Queue\CallQueuedHandler->Illuminate\Queue\{closure}()
#15 /www/wwwroot/b.test.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#16 /www/wwwroot/b.test.com/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(85): Illuminate\Pipeline\Pipeline->then()
#17 /www/wwwroot/b.test.com/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(59): Illuminate\Queue\CallQueuedHandler->dispatchThroughMiddleware()
#18 /www/wwwroot/b.test.com/vendor/laravel/framework/src/Illuminate/Queue/Jobs/Job.php(98): Illuminate\Queue\CallQueuedHandler->call()
#19 /www/wwwroot/b.test.com/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(356): Illuminate\Queue\Jobs\Job->fire()
#20 /www/wwwroot/b.test.com/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(306): Illuminate\Queue\Worker->process()
#21 /www/wwwroot/b.test.com/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(132): Illuminate\Queue\Worker->runJob()
#22 /www/wwwroot/b.test.com/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(112): Illuminate\Queue\Worker->daemon()
#23 /www/wwwroot/b.test.com/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(96): Illuminate\Queue\Console\WorkCommand->runWorker()
#24 /www/wwwroot/b.test.com/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Illuminate\Queue\Console\WorkCommand->handle()
#25 /www/wwwroot/b.test.com/vendor/laravel/framework/src/Illuminate/Container/Util.php(37): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
#26 /www/wwwroot/b.test.com/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\Container\Util::unwrapIfClosure()
#27 /www/wwwroot/b.test.com/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(37): Illuminate\Container\BoundMethod::callBoundMethod()
#28 /www/wwwroot/b.test.com/vendor/laravel/framework/src/Illuminate/Container/Container.php(596): Illuminate\Container\BoundMethod::call()
#29 /www/wwwroot/b.test.com/vendor/laravel/framework/src/Illuminate/Console/Command.php(134): Illuminate\Container\Container->call()
#30 /www/wwwroot/b.test.com/vendor/symfony/console/Command/Command.php(299): Illuminate\Console\Command->execute()
#31 /www/wwwroot/b.test.com/vendor/laravel/framework/src/Illuminate/Console/Command.php(121): Symfony\Component\Console\Command\Command->run()
#32 /www/wwwroot/b.test.com/vendor/symfony/console/Application.php(978): Illuminate\Console\Command->run()
#33 /www/wwwroot/b.test.com/vendor/symfony/console/Application.php(295): Symfony\Component\Console\Application->doRunCommand()
#34 /www/wwwroot/b.test.com/vendor/symfony/console/Application.php(167): Symfony\Component\Console\Application->doRun()
#35 /www/wwwroot/b.test.com/vendor/laravel/framework/src/Illuminate/Console/Application.php(93): Symfony\Component\Console\Application->run()
#36 /www/wwwroot/b.test.com/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(129): Illuminate\Console\Application->run()
#37 /www/wwwroot/b.test.com/artisan(37): Illuminate\Foundation\Console\Kernel->handle()
#38 {main}
明明我已经修改了php.ini中的证书路径配置,为何还是没有生效呢?还是去a.test.com中找证书?
file_get_contents 这个函数查找证书的路径是在哪里定义的呢?