如何解决纤薄的应用程序能否存在于其他应用程序使用其他框架已经在运行的网络服务器中?
经过数小时的斗争,我得出的结论是,我的问题的答案是否定的,他们不能。 我对么? 我们的工作结构如下:
/var/www/html
|___app1
|___app2
|___app3
App1、app2 和 app3 可以像 http://server_name/app1(app2 或 app3)一样访问 这些应用程序是使用不同的框架(angular、jquery 和 bootstrap、moca 等)创建的,它们没有问题。 但是我一直无法使用 slim 项目框架(在本例中为 slim4)创建 app4。...slim 需要文档根目录为公共文件夹,并且会与其他应用程序一起崩溃。
我没有奢侈地按名称或 IP 创建虚拟主机.....DNS 不由我的团队处理,并且无法与网络 IT 通信(是的,这是正确的)....
如果我将 DocumentRoot 更改为 /var/www/html/app4(纤薄的应用程序),我就可以让它工作(框架)。但随后所有其他应用都停止工作。
有没有办法在我的条件下解决这个问题?
非常感谢,
安德烈斯
解决方法
如果它必须在同一个域中。您是否考虑过使用其他端口?这不是最正统的方法,但我已将其设置为在端口 8080 进行暂存环境,而实时站点位于端口 80。这在您的场景中有效吗?您必须配置虚拟主机以使用端口 8080。
,我错了,有一种方法可以让纤薄的前端与同一网络服务器中的其他应用程序共存,同时共享所有相同的 DocumentRoot。
我更改了 routes.php 以监视所有 /app4/public/
例如:
routes.php(位于 /app4/app/routes.php)
{"key1" : 2,"key3" : 5}
当然,/app4/public 下有 index.php(如果使用 apache 则对应的 .htaccess)
如果使用 nginx,这个位置对我来说很好:
<?php
declare(strict_types=1);
use App\Application\Actions\User\ListUsersAction;
use App\Application\Actions\User\ViewUserAction;
use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;
use Slim\App;
use Slim\Interfaces\RouteCollectorProxyInterface as Group;
return function (App $app) {
$app->get('/app4/public/login',function (Request $request,Response $response) {
$response->getBody()->write('You have a slim4 app working now!');
return $response;
});
};
php-fpm-upstream,在我的系统中是:
location ~ /app4/public/ {
error_log /apps/dss/websites/slim4_app_public.log;
try_files $uri $uri/ /app4/public/index.php;
include fastcgi.conf;
fastcgi_pass php-fpm-upstream;
}
其中 fpm80 是为 php-fpm 模块提供服务的容器的名称。
谢谢奈杰尔和迈克尔。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。