PHP: профилирование кода и строгая среда ~ Улучшение моего кода - PullRequest
1 голос
/ 11 июня 2010

Я хотел бы обновить свою локальную рабочую среду, чтобы она была более строгой в попытке улучшить мой код. Я знаю, что мой код в порядке, но, как и в большинстве случаев, всегда есть возможности для улучшения.

Я использую XAMPP на своей локальной машине, для простоты Apache Friends XAMPP (Basic Package) version 1.7.2 Поэтому я обновил свой php.ini : error_reporting до E_ALL | E_STRICT, чтобы помочь со стандартом кода. Я также включил расширение XDebug zend_extension = "C:\xampp\php\ext\php_xdebug.dll", которое, кажется, работает, проверив неработающий код и получив хорошее стандартное оранжевое уведомление об ошибке.

Однако, прочитав этот вопрос, Профилируя код PHP и включив профилировщик, я не могу создать файл cachegrind.

Многие из руководств, на которые я смотрел, похоже, думают, что вам нужно установить XDebug в XAMPP, что заставляет меня думать, что они устарели, так как XDebug в комплекте с XAMPP в наши дни.

Так что я был бы признателен, если бы кто-нибудь помог мне направить меня в правильном направлении как с настройкой XDebug для вывода файлов измельчения, так и просто с большим набором настроек по умолчанию для конфигурации XDebug в XAMPP. Кажется, что очень мало документации для продолжения.

Если бы у людей были советы по интеграции этих инструментов с Netbeans, это было бы просто замечательно.

Я рад получить предложения о том, что я могу сделать, чтобы улучшить мой php-код, как по синтаксису, так и по производительности

Спасибо и извинения за бессвязные вопросы!

Редактирование ниндзя

Я должен отметить, что я использую именованные vhosts в качестве конфигурации Apache, и я думаю, поэтому запуск XDebug на порту 9000 не работает для меня. Я думаю, мне нужно отредактировать мой vhost, чтобы включить порт 9000

1 Ответ

0 голосов
/ 18 июня 2010

Если вы всегда хотите запустить профилировщик:

xdebug.profiler_enable  = 1

В противном случае, если вы хотите выборочно включить профилировщик (хорошая вещь), используйте:

xdebug.profiler_enable_trigger  = 1

Если выВы запускаете, вам нужно использовать параметр XDEBUG_PROFILE GET / POST или отправить куки с именем XDEBUG_PROFILE.Есть дополнения браузера, чтобы помочь;Для Firefox я использую Xdebug Helper, но поскольку он, кажется, исчез, вы можете попробовать easy Xdebug .

Я обнаружил, что выходной каталог по умолчанию не работает, поэтому попробуйте установить его самостоятельно:

xdebug.profiler_output_dir  = /home/deebster/php/profiler

Не забудьте установить разрешения каталога, чтобы позволить Apache создавать файлы, если вы не используете / tmp

...