小编You*_*are的帖子

是否可以将请求传递给 php-fpm 而没有安装卷的 nginx

我正在尝试将我的遗留单体迁移到 k8s,现在我有 nginx 和 php-fpm(带代码)图像,我希望 nginx 只提供 http 流量并将其传递给 fpm,但 nginx 坚持拥有文件,我不没有 try_files指令,但它无论如何都会尝试查找根文件和索引文件。

那么是否有可能不将源代码挂载到 nginx,我真的不明白为什么它应该在那里,但我找不到任何工作示例

nginx.conf:

server {
    listen 80;

    index index.php;
    # This dir exist only in php-fpm container
    root /var/www/html/public; 

    location ~* \.php$ {

        client_max_body_size 0;

        include fastcgi_params;
        fastcgi_pass php-fpm:9000;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        fastcgi_param DOCUMENT_ROOT $realpath_root;
    }
}
Run Code Online (Sandbox Code Playgroud)

2018/08/17 16:44:40 [error] 9#9: *46 "/var/www/html/public/index.php" is not found (2: No such file or directory), client: 192. xxx.xxx.xxx, server: , request: "GET / HTTP/1.1", host: "localhost"

192.xxx.xxx.xxx …

php nginx volume docker

7
推荐指数
1
解决办法
2694
查看次数

如何在GitLab中使用Kramdown

我还没有找到如何将GitLab的RedCarpet更改为Kramdown的说明.在Kramdown上我找到了如何安装它:

sudo apt-get install ruby
sudo gem install kramdown
Run Code Online (Sandbox Code Playgroud)

但是对于我来说,使用页面绝对是不可理解的

require 'kramdown'
puts Kramdown::Document.new(text).to_html
Run Code Online (Sandbox Code Playgroud)

什么是语言?我要写的地方?

markdown gitlab kramdown

5
推荐指数
1
解决办法
586
查看次数

通过docker exec或PhpStorm执行时,控制台PHP脚本的运行方式不同

我正试图通过PhpStorm运行控制台运行的Doctrine 2的控制台脚本.Docker设置为Deploy服务器.

如果我运行这个:

$ docker exec container_name /var/www/vendor/bin/doctrine-module orm:schema-tool:create

它打印:

没有要处理的元数据类.

但是当我在PhpStorm中运行PHP运行/调试配置时:文件:/ home/username/PhpstormProjects/proj/vendor/bin/doctrine-module

它打印:

docker:// image_name/container_name/var/www/vendor/bin/doctrine-module

致命错误:未捕获PDOException:PDO :: __ construct():php_network_getaddresses:getaddrinfo failed:765行/var/www/vendor/zendframework/zend-servicemanager/src/ServiceManager.php中未知的名称或服务

Zend\ServiceManager\Exception\ServiceNotCreatedException:无法创建名为"doctrine.connection.orm_default"的服务.原因:驱动程序中发生异常:SQLSTATE [HY000] [2002] php_network_getaddresses:getaddrinfo failed:第765行的/var/www/vendor/zendframework/zend-servicemanager/src/ServiceManager.php中未知名称或服务

调用堆栈:0.0001 349368 1. {main}()/ var/www/vendor/doctrine/doctrine-module/bin/doctrine-module:0 0.0268 360480 2. include('/ var/www/vendor/doctrine/doctrine- module/bin/doctrine-module.php')/ var/www/vendor/doctrine/doctrine-module/bin/doctrine-module:4 0.9376 4076096 3. Zend\ServiceManager\ServiceManager-> get()/ var/www/vendor/doctrine/doctrine-module/bin/doctrine-module.php:61 0.9376 4076096 4. Zend\ServiceManager\ServiceManager-> doCreate()/var/www/vendor/zendframework/zend-servicemanager/src/ServiceManager.php: 200

处理以退出代码255结束

我检查了PDO创建它时收到的绝对相同的参数

new PDO("mysql:host=db;port=3306;dbname=dbname", "user", "pass", [])

泊坞窗,compose.yml:

version: '2'
services:
    nginx:
        container_name: nginx
        build:
            context: .
            dockerfile: DockerfileNginx
        ports:
            - "80:80"
        depends_on:
            - php
        working_dir: /var/www
        links:
            - php …
Run Code Online (Sandbox Code Playgroud)

php pdo phpstorm docker

4
推荐指数
1
解决办法
1002
查看次数

标签 统计

docker ×2

php ×2

gitlab ×1

kramdown ×1

markdown ×1

nginx ×1

pdo ×1

phpstorm ×1

volume ×1