Nginx+php-fpmで固定の値を渡したい

パスワードなどgit管理したくないものをパラメータ化して渡してみました
Nginx + php-fpm だと迷ったのでメモ

PHP: 設定 - Manual

あたりを見ると、プール設定ファイルにかけばいいとあります
探して編集

$ vim /etc/php5/fpm/pool.d/www.conf

clear_env = no
env[SAMPLE_PARAM] = "123456"

clear_envをオフにしてパラメータをセットしてみて

getenv('SAMPLE_PARAM');

とphpで値が取れるようになりました

phpで2つの時間の秒数の差をみる

phpで時間を扱うのに便利なのは DateTime ですが、秒数の差を取ってみました

$now = new DateTime();
$tomorrow = (new DateTime())->add(new DateInterval('P1D'))->setTime(0,0,0);
$interval = $tomorrow->diff($now);
var_dump($interval);

$tommorow は今日に1日足して、時間を0時0分0秒にしたので、今晩0時になります
とすると DateInterval の差が取れますが、秒数に変換できないので

var_dump($tomorrow->getTimeStamp() - $now->getTimeStamp());

で対応しました
これで秒数が取れます

phpDocumentorをcomposerでいれてみた

phpDocumentorをcomposerでいれてみました

環境は
Ubuntu 14.04
php 7.0

https://www.phpdoc.org/docs/latest/getting-started/installing.html
だと条件が

  • PHP 5.3.3
  • intl extension for PHP
  • Graphviz
  • xsl extension for PHP

なので、必要なものをいれます

$ sudo apt-get install php7.0-intl graphviz php7.0-xsl

準備出来たのでphpDocumentorをいれます

$ composer require “phpdocumentor/phpdocumentor:2.*”

で入るはずが、symfony/consoleがいるとかでうまくいかず
試行錯誤した結果

composer.jsonに追記して

    "require-dev": {                                                               
        "symfony/console": "*",                                                                                                                                                                              
        "phpdocumentor/phpdocumentor": "*"                                         
    },  

インストール
$ composer install

これでインストールできました
実行してみます

$ php vendor/bin/phpdoc -d src e -t docs/api

無事、生成できました

Xdebug impact on Composerの対策をしてみた

composerを起動するたびに
Xdebug impact on Composer
の警告が出て、実行が遅いので対策してみました

環境は
Ubuntu 14.04
php 7.0

composer実行時にxdebugを読み込まないようにするため、.bashrcに書込み

$ echo ‘function composer() { COMPOSER=”$(which composer)” || { echo “Could not find composer in path” >&2 ; return 1 ; } && sudo phpdismod -s cli xdebug ; $COMPOSER “$@” ; STATUS=$? ; sudo phpenmod -s cli xdebug ; return $STATUS ; }’ >> ~/.bashrc
. ~/.bashrc

参考: Troubleshooting - Composer

参考サイトをちょっと環境に合わせて変えてます
これで実行が早くなりました