
darkwoolf
05.11.2017
13:26:21

Alan
05.11.2017
13:26:24
дальше нужно пойти в логи

Алексей
05.11.2017
13:26:26
У тебя, вестимо, не тот сокет PHP-FPM указан.

Alan
05.11.2017
13:26:31
и показать ошибку

Google

Алексей
05.11.2017
13:27:06
Я знаю что это
Вот если посмотришь в свой сниппет, то у тебя там PHP 5 указан.
И если, конечно, не PHP 7.0 слушающий сокет по адресу для PHP 5, то проблема именно в этом.

darkwoolf
05.11.2017
13:27:40
или nginx

Алексей
05.11.2017
13:27:52
// Казалось бы, при чём тут Symfony.

darkwoolf
05.11.2017
13:27:55
думаю второе

Alan
05.11.2017
13:28:13
пхпфпм логи

darkwoolf
05.11.2017
13:28:21

Алексей
05.11.2017
13:28:26
Зря думаешь. Нужно смотреть тот лог, который в конфиге виртхоста указан. Потом - логи PHP-FPM.

darkwoolf
05.11.2017
13:29:07
Вот если посмотришь в свой сниппет, то у тебя там PHP 5 указан.
# regex to split $uri to $fastcgi_script_name and $fastcgi_path
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# Check that the PHP script exists before passing it
try_files $fastcgi_script_name =404;
# Bypass the fact that try_files resets $fastcgi_path_info
# see: http://trac.nginx.org/nginx/ticket/321
set $path_info $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;
fastcgi_index index.php;
include fastcgi.conf;
это /etc/nginx/snippets/fastcgi-php.conf

Алексей
05.11.2017
13:30:03
Чудно. Но зачем это здесь? Ты выше постил сниппет с конфигом виртуального хоста для nginx. Вот в нём проблема.

darkwoolf
05.11.2017
13:30:30

Google

darkwoolf
05.11.2017
13:30:35
А где тут логи?

Алексей
05.11.2017
13:31:06
Логи в *nix НЕМНОГО не тут.
/var/log/*

darkwoolf
05.11.2017
13:32:03
и какой из них?

Алексей
05.11.2017
13:32:27
Ты в свой конфиг виртхоста посмотри. Какой там указан - такой и.

darkwoolf
05.11.2017
13:33:56

Алексей
05.11.2017
13:36:06
Тебе стоит сходить в документацию nginx и посмотреть, какие бывают логи. И чем отличается access_log от error_log.

darkwoolf
05.11.2017
13:36:41
НУ я понимаю примерно
Ты же сам сказал показать логи
это два лога

Алексей
05.11.2017
13:38:36
Ну вот второй не нужен вообще, например, был. Неважно.
В общем, тебе в error_log ошибка написана: nginx не может подключиться к сокету PHP-FPM. Делай выводы.

darkwoolf
05.11.2017
13:42:08
но в других хостах есть тоже строчка fastcgi_pass unix:/run/php/php7.0-fpm.sock;
и они как бы работают
а понял разницу
ща попробую

Алексей
05.11.2017
13:43:27
У тебя там пути к сокету разные, если что.

darkwoolf
05.11.2017
13:45:08

Google

darkwoolf
05.11.2017
13:52:42
Это же не норм?

Alan
05.11.2017
13:59:53
норм
это симфони

darkwoolf
05.11.2017
14:09:42
то есть ничего менять уже не нужно?
норм
это симфони

Daniel
05.11.2017
14:39:20

darkwoolf
05.11.2017
14:40:09

Daniel
05.11.2017
14:40:22
Руками
Зачем ты этим занимаешься?

darkwoolf
05.11.2017
14:40:41
спс
всмысле?

darkwoolf
05.11.2017
14:41:02
Мне на курсы нужно

Daniel
05.11.2017
14:41:13
Тебе ж сказали, что это уже симфони рендерит страницу.
Значит надо смотреть в логи симфони.

Алексей
06.11.2017
03:06:29
С кем я тут недавно обсуждал автоматическую регистрацию репозиториев как сервисов?
https://github.com/doctrine/DoctrineBundle/pull/727
В doctrine-bundle 1.8 должны завезти.

darkwoolf
06.11.2017
06:21:40
http://symfony.com/doc/current/setup/file_permissions.html
тут есть раздел в ACL
И команды все для апача
то есть на nginx такой штуки нету?

Bohdan
06.11.2017
06:24:45
где ты увидел, что это только для апача?

Google

darkwoolf
06.11.2017
06:31:28
А показалось
О всё настроил
Крч, это норм что app_dev.php норм работает, а на app.php 404 кидает

Sergey
06.11.2017
08:06:29


Boris
06.11.2017
08:17:06
Ребят, подскажите по паттернам, не могу понять соль и различие.
Есть service locator и DI.
Правильно ли я понимаю их различие?
class SomeClass
{
public $anotherClass;
public function __construct(AnotherClass $class)
{
$anotherClass = $class;
}
}
// Service Locator
$someToDo = new SomeClass();
// DI
$someToDo = new SomeClass(new AnotherClass);
В service locator я сам не передаю необходимую зависимость и (утрирую) фреймворк "сам" при создании экземпляра класса SomeClass передает в конструктор экземпляр AnotherClass.
В DI я каждый раз при создании экземпляра класса SomeClass руками передаю в конструктор экземпляр AnotherClass. В итоге грубо говоря мой SomeClass знает что в него передадут экземпляр класса AnotherClass, но если все-же не передали - будет error, а не автоматически добавлен экземплят класса AnotherClass т.е. не явно.


Sergey
06.11.2017
08:22:27
в сервис локаторе ты обращаешься к локатору и запрашиваешь то что тебе нужно, в di ты тебе инжектят зависимости из вне

Boris
06.11.2017
08:23:02
т.е. 2 примера выше оба DI?

Sergey
06.11.2017
08:23:06
да
$logger = $this->container->get(Logger::class);
$repository = $this->em->getRepository(User::class);
вот 2 типичных использования сервис локаторов на проекте

Admin
ERROR: S client not available

Boris
06.11.2017
08:25:29
Например в контроллере
$this->get('markdown.parser')
Это SL, верно?

Sergey
06.11.2017
08:25:46
да

darkwoolf
06.11.2017
08:25:48

Sergey
06.11.2017
08:26:06
с DI у тебя через иньекции будет все

darkwoolf
06.11.2017
08:26:19
То есть это потом нужно чёт делать года деплоить буду?

Boris
06.11.2017
08:26:23
Like controller injection?

darkwoolf
06.11.2017
08:26:40
А ты не мне

Danil
06.11.2017
08:26:41

Sergey
06.11.2017
08:26:59
в 4й симфони контроллеры только так и будут регаться на сколько я помню

Google

Boris
06.11.2017
08:33:30
т.е. на примере доктрины в контроллере
private $doctrine;
public function __construct(ManagerRegistry $doctrine)
{
$this->doctrine = $doctrine->getManager();
}
public function someAction()
{
$this->doctrine->getRepository();
}
Выше DI?
А вот ниже SL?
public function someAction()
{
$em = $this->getDoctrine()->getManager();
}

Sergey
06.11.2017
08:34:28
$this->doctrine->getRepository();
тоже SL

Boris
06.11.2017
08:35:47
Но ведь вроде явно в конструкторе указал при создании экземпляра контроллера добавить экземпляр доктрины. А как тогда будет выглядеть DI?

Sergey
06.11.2017
08:36:19
public function __construct(MyRepository $repository)

Boris
06.11.2017
08:36:54
А, т.е. я не должен передавать класс доктрины в конструктор, а сразу должен передать репо?

Bohdan
06.11.2017
08:36:59
DI - это то, что ты ManagerRegistry в контроллере получил

Sergey
06.11.2017
08:37:25

Bohdan
06.11.2017
08:37:30
а когда ты взял репу через registry - это sl

Boris
06.11.2017
08:40:02

Sergey
06.11.2017
08:40:19
да

Ad
06.11.2017
08:40:46
Добрый день. Подскажите, а для xdebug в шторме, например, обязателен на клиенте белый IP? Делаю по вот этому документу, https://stafox.ru/how-to-configure-xdebug-in-phpstorm/ вкладка отладки пустая.

Sergey
06.11.2017
08:41:14
белый IP это как?

Alexander
06.11.2017
08:42:58
там описан дебаг на локале, при чём тут айпи

Ad
06.11.2017
08:43:03
Ну вот мне так сказали, когда задал вопрос в соседней конфе. :) Наверное, имели в виду чтобы я у прова своего для домашней сети выделенный ип попросил, но это же бред, вроде

Sergey
06.11.2017
08:43:23
для локали да и ремоута всегда будет 127.0.0.1

Ad
06.11.2017
08:43:26
Там дебаг на локале, согласен. Что нужно учитывать при дебаге на сервере?

Sergey
06.11.2017
08:43:31
порты проверь чтобы не заняты были
для профилактики можешь на 9002 настроить

Ad
06.11.2017
08:43:53
Я на 9009 настроил, у меня там php-fpm
И ни фига. :(

Andrey
06.11.2017
08:44:59
iptables? telnet -tulpn?
пробовал в шторме "stop at first line"?

Ad
06.11.2017
08:45:31
На сервере не должно быть, внёс 9009 в ACCEPT