crontabが動かなかった
cronのテストをしていた時に何故か変更したものが反映されない。
タイミングが良くわからなかったので
sudo /etc/init.d/crond restart
をするようにしたら動いた。
cronのテストをしていた時に何故か変更したものが反映されない。
タイミングが良くわからなかったので
sudo /etc/init.d/crond restart
をするようにしたら動いた。
管理者権限のユーザーでも新規投稿時にステータスpost_statusをレビュー待ちpendingにしたかったので。
function.phpに追加。
//新規投稿のステータス初期値を「レビュー待ち」にする function post_function($data){ //処理 $data['post_status'] = 'pending'; return $data; } add_filter('wp_insert_post_data', 'post_function'); |
MacPortsのアップデートしたらphpでエラーがでるようになった。
PHP Startup: Unable to load dynamic library '/opt/local/lib/php54/extensions/no-debug-non-zts-20100525/gd.so'
ということで調査開始。
php -ini
でiniファイルを探すと
/opt/local/var/db/php54/gd.ini
ができてた(元から??)ので開いてみると
extension=gd.so
とエラー部分の呼出しがあったので
;extension=gd.so
とコメントしたらエラーが消えた。
ただ、MacPortsが自動で更新するファイルだから
さわっちゃダメよ、と書いてあったファイルなので
また上書きされてしまうんだと思う。
とりあえず、の処置ということで。
iPhone5のSafariでサイトの表示確認をしたら
表示がかなり崩れていた。
CSSが適応されていないようだったが
完全にではなく、一部が適応されてにない様子。
MacとつないでWebインスペクタで確認したところ
CSSは読んでいるもののなぜか途中で切れていた。
他のiPhoneやiPadで見るとそんなことはなく
端末の問題として、設定からSafariの
「Cookieとデータを消去」をすると解決。
CakePHPで、ローカルではサクサク動くシステムが
サーバーに載せたら対した処理でもない部分で異常に重い。
ページを開くだけで1分以上かかるなど遅すぎ。
原因は単純で、PHPのメモリ設定が小さすぎただけ。
フレームワークはそのページの処理自体は単純でも
共通部分の処理の読み込みなどでそこそこメモリが必要。
ちなみにいつも忘れるのでphp.iniの場所を探すには
php --ini
一時的に同じドメインの、メインとサブディレクトリで
別々のCakePHP2を動かす必要が出た。
過去のサーバーでは問題なく動いていたが
同じ構成でも特定のサーバーでだけ500エラーが出る。
それも、どちらか片方だけ。
debugを一度2にすると動くようになるが
そうすると他方がエラーになる。
結局、サブの方のcore.phpに
Configure::write('Cache.disable', true);
を追記して解決。
なぜかキャッシュに同じものを見に行っていたようで
それがエラーの原因だった模様。
片方を、キャッシュそのものをしないようにした。
PHPのバージョンなどが原因かも。
サーバー環境をいろいろといじっていたら、
PHPが下記のようなエラーを出すようになった。
何を変えたことで発生したかは不明。
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/ssh2.so' - /usr/lib64/php/modules/ssh2.so: undefined symbol: php_checkuid in Unknown on line 0
ssh2.soやlibssh2.soを再インストールしても
エラーメッセージが多少変わるものの治らず。
結局、ssh2-0.12をソースからコンパイルする時に下記のオプションを付けて解決。
./configure --with-ssh2 --with-php-config=/path/to/correct/php/bin/php-config
php-configのパスは下記で探した。
sudo find / -name "php-config*"
大変だった。
Mac(mountain lion)でWindowsのプログラムを使うためのwineというものがある。
exeファイルをwine経由で起動させることにより実行が可能。
ただ、exeファイルだけではなく
特定の拡張子をプログラムに関連付けをし
ファイルをダブルクリックするだけでそのプログラムで開くようにしたい。
今回実施したいのはjwwのファイル。
他でも同じ方法でできるはず。
プログラムファイルであるjw_win.exeをダブルクリックで開くようにはすぐできたが
データファイルのfilename.jwwをダブルクリックすることでjwwと共に開くのに苦労した。
まずはwineのパスを調べる。
インストールした方法によるが、自分はNXWineというアプリで入れたので
/Applications/NXWine.app/Contents/Resources/bin/wine
にあった。
jw_win.exeのパスも調べておく。
MacのAutomaterでApplicationを選び、Run Shell Scriptをダブルクリックして右側にウィンドウを出し
入力を「as arguments」にした上で
/Applications/NXWine.app/Contents/Resources/bin/wine start /unix "/pathToJwwFile/jw_win.exe $1"
とする。
後はこのApplicationに適当な名前を付けてどこかに保存。
これで、このApplication経由でjwwファイルを起動すると
$1の部分にjwwのファイルパスが入り、jw_win.exeがwine経由で起動することになる。
関連付けは、どれか適当なjwwファイルを右クリックしてGet Infoを選び
Open withのところで先ほど作成したApplicationを選択し、
その下のChange Allボタンで他のjwwファイルもすべてこのApplicationで起動するようにする。
(追記)
上記でjw-cadは使用できるようになったものの
なぜか印刷してもできず。(印刷キューに出てこない)
色々と試した結果、macportsよりwine-1.7.2を
インストールすることで解決。
上記のパスは下記に変更。
/opt/local/bin/wine start /unix "/pathToJwwFile/jw_win.exe $1"
core.phpに下記を追記して解決。
Configure::write('Error', array( 'handler' => 'ErrorHandler::handleError', 'level' => E_ALL & ~E_DEPRECATED & ~E_STRICT, 'trace' => true )); |
2つの画像を比較して、変化したかを調べる方法を探していたら
Libpuzzleというツールがあることを発見。
PHPでもコマンド(CUI)でも使えるということで自分の用途にぴったり!
インストールは下記を参考にさせてもらった。
PHP5.4でLibpuzzleを使って画像の類似度判定を行う – 波打際のブログさん
コマンドでも下記のように使える。
$ puzzle-diff img1.jpg img2.jpg