Как посмотреть логи разработки в termail Zend Framework 2?

Я знаком с разработкой ROR. Но недавно начал работать в php zend framework. Это способ увидеть журналы разработки вживую в терминале (в Linux) так же, как и ROR.

RAILS_ENV = развитие

рельсы с

Но в Zend свой терминал

php -S 0.0.0.0:8080 public public / index

Производить логи в производственной среде. Как заставить их разработку любить более детально отслеживать код.
В документации это выглядит так:

if ($ _SERVER [‘APPLICATION_ENV’] == ‘development’) {
error_reporting (E_ALL);
ini_set («display_errors», 1); }

Но покажите сообщение об ошибке в терминале как:

Примечание PHP: неопределенный индекс: APPLICATION_ENV в
/var/www/html/skeleton/public/index.php в строке 7

это немного устал, пожалуйста, предложите выход, спасибо.

0

Решение

В документации предполагается, что вы используете Apache:

По выбору, при использовании Apache, Вы можете использовать APPLICATION_ENV установка в вашем VirtualHost позволить PHP выводить все свои ошибки в браузер. Это может быть полезно при разработке вашего приложения.

Источник: руководство.

Как обсуждено в Другой вопрос, Вы должны иметь возможность запустить свой сервер разработки с определенным APPLICATION_ENV используя следующую команду:

APPLICATION_ENV=development php -S 0.0.0.0:8080 public public/index

Вы можете просто установить Apache VirtualHost как сказано в руководство. Поместите следующее в ваш VirtualHost конфигурации:

<VirtualHost *:80>
ServerName zf2-tutorial.localhost
DocumentRoot /path/to/zf2-tutorial/public
SetEnv APPLICATION_ENV "development"<Directory /path/to/zf2-tutorial/public>
DirectoryIndex index.php
AllowOverride All
Require all granted
</Directory>
</VirtualHost>

И обнови свой hosts:

127.0.0.1 zf2-tutorial.localhost localhost

Ссылаться на руководство в случае проблем.

Я не буду вести вас через установку этот пакет (вот несколько инструкций), но я приведу два решения для проверки (в вашем коде), включен ли режим разработки.

Первый метод: проверьте, если config/development.config.php существует

После включения режима разработки, содержимое config/development.config.php.dist должны быть скопированы в config/development.config.php, В своем коде используйте следующее, чтобы проверить, находитесь ли вы в режиме разработки:

if (file_exists('config/development.config.php')) {
// in default skeleton application. You may have to play with
// __DIR__ if you’ve modified your public/index.php
}

Второй метод: ввести конфигурацию приложения

Предположим, что вы хотите проверить, включен ли режим разработки в контроллере / сервисе или другом, что может быть создано фабрикой, реализующей zend-servicemanager«s FactoryInterface, Ниже я привожу пример конфигурации приложения, фабрики и сервиса:

config/development.config.php.dist

<?php

return [
'development' => true
];

Application\Service\Factory\ExampleServiceFactory

public function __invoke(ContainerInterface $container, $requestedName, array $options = null)
{
return new ExampleService($container->get('Config'));
}

Application\Service\ExampleService

<?php

// imports, namespace…

class ExampleService
{
protected $dev;

public function __construct(array $config)
{
$this->dev = isset($config['development']) && $config['development'] === true;
}

public function doSomething()
{
if ($this->dev) {
// …
}
}
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector