【问题标题】:Laravel Project call services to other Laravel ProjectLaravel 项目调用服务到其他 Laravel 项目
【发布时间】:2016-03-04 16:14:16
【问题描述】:

我在不同的文件夹中有两个 laravel 项目

var/www/html/lab1
var/www/html/lab2

当我访问一个项目的一个路由时,这个路由调用另一个项目!

示例:我访问 domain.com/public/api/lab1/user 并调用 domain.com/lab2/api/user

我用的是apache2,不知道怎么回事

这出现在日志文件中

 File: /xxx/xxx/xxx/xxx/dev/vendor/laravel/lumen-framework/src/Application.php
Line: 1176
CLASS: Symfony\Component\HttpKernel\Exception\NotFoundHttpException
traceAsString: #0 /xxx/xxx/xxx/xxx/dev/vendor/laravel/lumen-framework/src/Application.php(1134): Laravel\Lumen\Application->handleDispatcherResponse(Array)
#1 [internal function]: Laravel\Lumen\Application->Laravel\Lumen\{closure}(Object(Illuminate\Http\Request))
#2 /xxx/xxx/xxx/xxx/dev/vendor/illuminate/pipeline/Pipeline.php(139): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#3 /xxx/xxx/xxx/xxx/dev/app/Http/Middleware/CorsMiddleware.php(8): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#4 [internal function]: App\Http\Middleware\CorsMiddleware->handle(Object(Illuminate\Http\Request), Object(Closure))
#5 /xxx/xxx/xxx/xxx/dev/vendor/illuminate/pipeline/Pipeline.php(124): call_user_func_array(Array, Array)
#6 /xxx/xxx/xxx/xxx/dev/vendor/illuminate/cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#7 [internal function]: Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle(Object(Illuminate\Http\Request), Object(Closure))
#8 /xxx/xxx/xxx/xxx/dev/vendor/illuminate/pipeline/Pipeline.php(124): call_user_func_array(Array, Array)
#9 /xxx/xxx/xxx/xxx/dev/vendor/lucadegasperi/oauth2-server-laravel/src/Middleware/OAuthExceptionHandlerMiddleware.php(19): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#10 [internal function]: LucaDegasperi\OAuth2Server\Middleware\OAuthExceptionHandlerMiddleware->handle(Object(Illuminate\Http\Request), Object(Closure))
#11 /xxx/xxx/xxx/xxx/dev/vendor/illuminate/pipeline/Pipeline.php(124): call_user_func_array(Array, Array)
#12 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#13 /xxx/xxx/xxx/xxx/dev/vendor/illuminate/pipeline/Pipeline.php(103): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#14 /xxx/xxx/xxx/xxx/dev/vendor/laravel/lumen-framework/src/Application.php(1354): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#15 /xxx/xxx/xxx/xxx/dev/vendor/laravel/lumen-framework/src/Application.php(1135): Laravel\Lumen\Application->sendThroughPipeline(Array, Object(Closure))
#16 /xxx/xxx/xxx/xxx/dev/vendor/laravel/lumen-framework/src/Application.php(1073): Laravel\Lumen\Application->dispatch(Object(Illuminate\Http\Request))
#17 /xxx/xxx/xxx/xxx/dev/public/index.php(28): Laravel\Lumen\Application->run(Object(Illuminate\Http\Request))
#18 {main}

虚拟主机

<VirtualHost  *:9022>
        DocumentRoot /var/www/html/api
         <Directory /var/www/html/api>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

<VirtualHost  *:9019>
       ServerName servername
       DocumentRoot /var/www/html/api2
         <Directory /var/www/html/api2>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

有什么想法吗?

【问题讨论】:

  • 你怎么称呼第二个域,在 html 中?从php代码?您可以发布正在调用的代码吗?
  • 我不调用第二个域。

标签: php apache laravel lumen


【解决方案1】:

您的 documentRoot 和虚拟主机中的目录显示的内容与您在顶部 (var/www/html/lab1) 中所说的不同。

将 documentRoot 和目录更改为 /var/www/html/api/public 和 /var/www/html/api2/public

因为 laravel 从 public 文件夹中的 index.php 引导整个 laravel 框架

【讨论】:

  • 是的,真正的文件夹是 var/www/html/api 和 var/www/html/api2。对不起,问题仍然存在
猜你喜欢
  • 2016-11-06
  • 2021-05-30
  • 1970-01-01
  • 2014-03-31
  • 2016-11-12
  • 1970-01-01
  • 1970-01-01
  • 2020-02-24
  • 2015-12-12
相关资源
最近更新 更多