标签: symfony

Nginx + PHP-FPM 产生 502 bad gateway 而不是致命错误?

我目前正在使用 Nginx 和 PHP-FPM 测试 Symfony2。我也使用 Xdebug。

Symfony2 带有一个 Demo 包,我想通过在 Acme/Demo 包中创建一个语法错误来测试 Symfony 2.2.0 附带的致命错误的新处理。为什么我这样做,服务器响应是 502 bad gateway。

但是如果我在文件 app_dev.php 中出现语法错误(所以在框架被触发之前),那么 Xdebug 会告诉我致命错误。

令人惊讶的是,如果我修复了那个错字,然后在 Acme/Demo 包中重新创建语法错误,那么 Symfony 错误处理程序就会按预期出现。最后,如果修复所有错别字(页面有效),然后再次重新创建相同的错字(再次在 Acme/Bundle 中),我会得到一个错误的网关。

你有什么线索吗?

php nginx php-fpm xdebug symfony

11
推荐指数
1
解决办法
5312
查看次数

在 vagrant 共享目录上运行 setfacl

尝试使用流浪虚拟机启动并运行 Symfony2 项目。我已经看过无数关于此的文章,但事实证明,正确获得缓存目录的权限是极其痛苦的。

在我的Vagrantfile

config.vm.share_folder("src", "/var/www", "../www")
Run Code Online (Sandbox Code Playgroud)

我的虚拟机fstab文件:

proc            /proc           proc    nodev,noexec,nosuid 0       0
/dev/mapper/ubuntu--1110-root /               ext4    acl,errors=remount-ro 0       1
# /boot was on /dev/sda1 during installation
UUID=4ed7eaaf-6f42-48ba-b5ed-f0c1df9add38 /boot           ext2    defaults        0       2
/dev/mapper/ubuntu--1110-swap_1 none            swap    sw              0       0
Run Code Online (Sandbox Code Playgroud)

虚拟机上已经安装了 acl 包。

当我按照 Symfony2 安装说明在 /var/www 中运行以下命令时:

 sudo setfacl -R -m u:apache:rwx -m u:username:rwx app/cache app/logs
Run Code Online (Sandbox Code Playgroud)

我得到:

不支持操作

我可以在 FS(共享目录之外)的任何其他目录或文件上运行该命令,并且该命令有效。是什么赋予了?

virtualbox symfony vagrant

10
推荐指数
1
解决办法
4639
查看次数

docker-compose exec composer 作为用户

我有一个 docker-compose 设置在我的本地机器上完美运行,用于使用 nginx、php7-fpm 和 mysql 的 symfony 项目。

我经常需要通过 composer 安装新的包,所以我只是像这样将命令传递到我的 php-fpm 容器:

docker-compose exec my-php-fpm-container composer install
Run Code Online (Sandbox Code Playgroud)

问题是以 root 身份安装所有软件包,所以我每次安装时都必须 chown。

我知道标志“--user”存在,但如果我使用它,它会出现以下错误:

错误:没有这样的服务:作曲家

有没有办法以本地机器用户身份运行 docker-compose exec 命令,以便新的 Composer 安装的文件和文件夹使用我的本地 linux 用户所有权而不是 root 创建自己?

php-fpm symfony docker composer docker-compose

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

Symfony2 应用程序位于 nginx 子目录中

我正在尝试在我们服务器的子目录中设置 symfony2 应用程序

网络服务器:nginx 1.1.6 + php fpm 操作系统:gentoo

我的目标是让应用程序从子目录运行

subdomain.xy.domain.tld/工具

我的 nginx 配置看起来像这样

server  {

    listen          80;
    server_name     subdomain.xy.domain.tld;

    error_log       /var/log/nginx/subdomain.xy.error.log info;
    access_log      /var/log/nginx/subdomain.xy.access.log main;


    location /tool {

        root /var/www/vhosts/subdomain.xy/tool/web;

        index app.php;

        location ~ \.php($|/) {
            include fastcgi_params;

            set $script $uri;
            set $path_info "";

            if ($uri ~ "^(.+\.php)($|/)") {
                set $script $1;
            }

            if ($uri ~ "^(.+\.php)(/.+)") {
                set $script $1;
                set $path_info $2;
            }

            fastcgi_param SCRIPT_FILENAME /var/www/vhosts/subdomain.xy/tool/web$fastcgi_script_name;
            #fastcgi_intercept_errors on;
            fastcgi_pass 127.0.0.1:9000;

            fastcgi_param SCRIPT_NAME $script;
            fastcgi_param PATH_INFO $path_info;
        } …
Run Code Online (Sandbox Code Playgroud)

php nginx gentoo php-fpm symfony

2
推荐指数
1
解决办法
4215
查看次数