tkuchikiの日記

Linux やプログラミングについて書きます。

PHP

php-build が libphp[57].so を上書きしないようになりました

php-build が libphp5.so を上書きしないようにするパッチ で、 php-build が libphp5.so を上書きしてしまう問題を紹介しました。 2015-12-11 に Remove hard-patch code for APXS handling #353 が merge され、 libphp5.so(PHP 7 は libphp7.so なので、…

php-build が libphp5.so を上書きしないようにするパッチ

CHH/php-build · GitHub は、php を指定のディレクトリに build できるので便利だが、 --with-apxs2 をつけて build すると、httpd の modules ディレクトリ以下 (/etc/httpd/modules など) の libphp5.so を上書きしてしまう。 この場合、システム全体で使…

Zend_Gdata で Declaration of ... should be compatible with that of ... が出る問題

PHP 5 で、Zend_Gdata(1.12.3) を使っていたら以下の様なエラーが。 Declaration of Zend_Gdata::import() should be compatible with Zend_Gdata_App::import($uri, $client = NULL, $className = 'Zend_Gdata...', $useObjectMapping = true)なんだこれと…

Kohana 用 nginx conf

Kohana を Nginx で動かす機会があったのでメモ。

zabbix-server 2.0 インストールメモ(手動編)

Vagrant で作成したVM上にchefを使わないで環境を構築した際のメモ。 メモ作成時の RPM 最新版は 2.0.6 。 yumレポジトリ追加と yum install $ rpm -ivh http://repo.zabbix.com/zabbix/2.0/rhel/6/x86_64/zabbix-release-2.0-1.el6.noarch.rpm $ yum instal…

Symfony2 で https のみにする設定

nginx から apache に reverse proxy する構成で、はまったのでメモ。 Symfony 側の設定 # app/config/config.yml framework: trust_proxy_headers: true # routing.yml など requirements: _scheme: https だけで、いけるかと思ったのだが、httpsにリダイレ…

php で cron を使って 日本語メールを送る場合の注意点

はまったのでメモ。cron で php スクリプトを使ってメール送信するように設定したところ、 日本語メールの Subject が文字化けする現象が発生した。色々調査したところ、Yuigahaming - cronでfgetcsvを使うとcsvが文字化ける。 を見つけた。 どうやら、cron …

Symfony2で Twig 関数の aseet や path のURLを絶対URLにする方法

Controller内であれば、generateUrl の第3引数を true にすることで絶対パスにすることができるが、Twig関数で生成したパスを絶対URLにする方法は多少調査した感じでは見当たらなかった。symfony2 - How to get the full url for an asset in Controller? - …

Symfony2 で CSRF Validation を ON にした時のテストの書き方

CSRF Validation を 有効にしている時のテストの書き方を調べた。 stackoverflow でそれっぽいものを発見(testing - Get the CSRF token in test - Stack Overflow)。 $crawler = $client->request('GET', '/test'); $extract = $crawler->filter('input[nam…

PHP の文字列連結ベンチマーク

sprintf がどのくらい遅いのかと、文字列連結が変数展開よりどれくらい早いかを計測するためベンチマークをとった。 ベンチマークには、Benchmark Timer を使用。 以下が実行時のコードである。

Excel の 日付データ(数値)をプログラムで取得した際、テキストに変換する方法

PHPExcelで日付データを取得しようとしたときに、 1970/1/1 ではなく、 25569 が取得されてしまった。 調査した結果、Excel では、日付データを 1900/1/1 からの経過日数で保存しているためということがわかった。ExcelではTEXTという関数があって、それを使…

Symfony2 で composer install|update 時に、「Class .... is not autoloadable, can not call post-update-cmd script 」が出た時の対処法

php composer.pher install|update で、 Class .... is not autoloadable, can not call post-update-cmd script が出たら、 vendor を消して入れなおせばいいそうです。 一々消すの面倒ですね。※参考 https://github.com/symfony/symfony-standard/issues/2…

Symfony2.1以降で、Twigにflash messageを表示させる際の書き方

Symfony2.3で、 Symfony\Component\HttpFoundation\Session\Session の、getFlashs, setFlashs, getFlash, setFlash, hasFlash, removeFlash, clearFlash が削除されます。 公式ドキュメントの、 http://symfony.com/doc/master/components/http_foundation/…

Symfony2で、「The form's view data is expected to be of type scalar, array or an instance of \ArrayAccess, but is an instance of class DateTime. ...」というエラーが出る場合について

Entityのカラムをdatetimeで設定した状態で、FormTypeに、 $form->add('created_at', 'text'); のように、'datetime'以外を設定すると、 The form's view data is expected to be of type scalar, array or an instance of \ArrayAccess, but is an instance…

KnpPaginatorBundleでInvalid parameter number: ... エラーが発生した場合の対処法

https://github.com/KnpLabs/KnpPaginatorBundle/issues/117こちらに対処法が書いておりました。 config(option) の distinct: true を falseに変更すれば動くようになります。 knp_paginator: page_range: 5 # default page range used in pagination contr…

Eclipse にPHPとSymfonyの環境を整える手順

PHPなど http://phpmentors.jp/post/27519578771/eclipse-php-5 を参考にしました Symfony plugin Eclipse Marketplace から、Symfony plugin と Twig plugin をインストール