@symfony_php

Страница 386 из 1418
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
дальше нужно пойти в логи
/var/log/nginx/project_error.log сюда?

или nginx

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

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

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

Алексей
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 кидает

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
да

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
Like controller injection?
like controller as service

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
А, т.е. я не должен передавать класс доктрины в конструктор, а сразу должен передать репо?
да, манагер тебе нужен только в случае работы с транзакциями и для persist/flush

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

Boris
06.11.2017
08:40:02
да, манагер тебе нужен только в случае работы с транзакциями и для persist/flush
А, ну да, я же выношу всю работу с БД в репо. В репозитории все выполняю, а в контроллере дергаю только методы репозитория. А уже его методы работают с доктриной. Верно?

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

Страница 386 из 1418