タグ: php を抽出しています。
Total: 96

phpからmecabのわかち書き

ブログ | 2009/1/10 20:04
file_put_contents($tmpfile,$str);
return shell_exec('/opt/local/bin/mecab -O wakati '.$tmpfile);
こんな感じで、ファイルを作ってみたのだけれど、
http://kudelab.com/archives/15
のソースでは、ファイル必要なし。

-O wakati を足してみよう。

$descriptorspec = array(
 0 => array("pipe", "r"),
 1 => array("pipe", "w")
);
$process = proc_open("/opt/local/bin/mecab -O wakati", $descriptorspec, $pipes);

if(is_resource($process)){
 fwrite($pipes[0], $str);
 fclose($pipes[0]);
 $result = stream_get_contents($pipes[1]);
 fclose($pipes[1]);
 proc_close($process);
 return($result);
}

「神奈川県」をどうやって検索しよう。
「神奈川県」は「神奈川 県」と分かれるから、「神奈川」ではヒットしても「神奈川県」でヒットしない。検索文字列もわかちして「+神奈川 +県」で一応ヒットするけれど、「神奈川と千葉県は東京湾を挟んでいる」がヒットしてしまってよいのだろうか。

あとで考えよう。

my.cnfに
ft_min_word_len=1
は忘れずに。

leopardサーバー構築メモ20090105(senna)

ブログ | 2009/1/2 05:30
leopardサーバー構築系の最新記事は
http://www.rottel.net/kuwa/book/12/38560
・・・・

OSX 10.5.6
PHP 5.2.8 (+GD +pear)
MySQL 5.0.45 (+senna)


[OSX leopardインストールDVDから]
Leopardのインストール(言語やプリンターは最小限)
Developer Toolインストール
ソフトウェア アップデートを繰り返して最新版に

[アプリケーション]
MainMenu ...Finderの不可視ファイルを表示
http://www.santasw.com/

cotEditor ...テキストエディタ
http://www.aynimac.com/p_blog/files/article.php?...

[Dock]
ターミナル・コンソール・アクティビティモニタをDockへ

[webmin]
http://www.webmin.com/download.html
ダウンロード・解凍後アプリケーションフォルダへ。フォルダ名をwebminにでも変更しておく。
cd /Applications/webmin; ./setup.sh

[MacPorts]
http://www.macports.org/
パッケージからインストール
/User/kuwa/.bash_profile というファイルを作って、
export PATH=/opt/local/bin:/opt/local/sbin/:$PATH
export MANPATH=/opt/local/man:$MANPATH

Terminalの新しいウインドウで、
sudo port -d selfupdate
sudo port -d sync

[MySQL+sennaの準備 localports]
sudo mkdir /usr/local
sudo mkdir /usr/local/src
sudo mkdir /usr/local/src/localports
cd /usr/local/src/localports
sudo mkdir `ls -F1 /opt/local/var/macports/sources/rsync.macports.org/release/ports/ | grep '/$'`

/opt/local/etc/macports/sources.conf の上の方に下記記述を追加
file:///usr/local/src/localports

[senna ダウンロード]
http://lapangan.net/darwinports/index.php?Privat...
sudo mv /Users/kuwa/Downloads/textproc/senna /usr/local/src/localports/textproc

[mysql ダウンロード]
http://lapangan.net/darwinports/index.php?Privat...
sudo mv /Users/kuwa/Downloads/databases/mysql5 /usr/local/src/localports/databases

portindexを更新
sudo portindex

[senna インストール]
sudo port install senna

[MySQL + senna インストール]
sudo port install mysql5 +utf8 +senna

port installed
で、mysql5 @5.0.45_0+senna+utf8 (active)
となってるかチェック。

これをやれば動く筈。
sudo mkdir /opt/local/var/db
sudo /opt/local/bin/mysql_install_db5 --user=mysql
sudo chown -R mysql:mysql /opt/local/var/db/mysql5/
sudo chmod 755 /opt/local/var/db/mysql5
sudo mkdir /opt/local/var/run
sudo mkdir /opt/local/var/run/mysql5
sudo chown -R mysql:mysql /opt/local/var/run
sudo chmod -R 775 /opt/local/var/run

[MySQL webmin設定]
/opt/local/bin/mysqlshow5
/opt/local/bin/mysqladmin5
/opt/local/bin/mysql5
/opt/local/bin/mysqldump5
/opt/local/bin/mysqlimport5
/opt/local/bin/mysqld_safe5 --user=mysql &

MySQL共有ライブラリディレクトリへのパス
/opt/local/lib/mysql5/mysql
Path to MySQL databases directory
/opt/local/var/db/mysql5

[MySQLパスワードの設定] (webminでも設定できる)
sudo /opt/local/bin/mysqladmin5 -u root password 'パスワード'

[MySQLの起動と停止]
起動
sudo /opt/local/bin/mysqld_safe5 --user=mysql &
終了
sudo /opt/local/bin/mysqladmin5 -u root -p shutdown
接続
cd /opt/local/bin; ./mysql5 -u root -p

[MySQLの自動起動]
/Library/LaunchDaemons/org.macports.mysql5.plist
に下記を書いて保存。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>GroupName</key>
  <string>mysql</string>
  <key>Label</key>
  <string>mysqld</string>
  <key>OnDemand</key>
  <true/>
  <key>ProgramArguments</key>
  <array>
     <string>/opt/local/bin/mysqld_safe5</string>
     <string>--defaults-file=/etc/my.cnf</string>
  </array>
  <key>RunAtLoad</key>
  <true/>
  <key>UserName</key>
  <string>mysql</string>
</dict>
</plist>

sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist

とりあえず、空のmy.cnfを作成(ないと自動起動しない)
sudo touch /etc/my.cnf


[apache2のインストール]
sudo port -d install apache2

[apache2のwebmin設定]
/opt/local/apache2
/opt/local/apache2/bin/httpd
/opt/local/apache2/bin/apachectl
/opt/local/apache2/conf/httpd.conf
/opt/local/apache2/conf/mime.types

[apacheの自動起動]
sudo launchctl load -w /Library/LaunchDaemons/org.macports.apache2.plist

[jpeg,freetype,libpngのインストール]
sudo port install freetype
sudo port install jpeg
sudo port install libpng

[php5] (GDはデフォルトで入っている)
sudo port -d install php5 +apache2 +mysql5 +pear

httpd.conf
<IfModule mime_module>に
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
を記述

php.iniの場所
/opt/local/etc/php.ini

[PEAR]
XML_RPC
sudo /opt/local/bin/pear install -f XML_RPC
Text_Diff
sudo /opt/local/bin/pear install -f Text_Diff
Cache_Lite
sudo /opt/local/bin/pear install -f Cache_Lite

PEL 0.9.1
http://pel.sourceforge.net/
フォルダ名をpelにして、/opt/local/lib/phpへ

[crontab]
webmin設定
crontabディレクトリ
/var/cron/tabs → /var/at/tabs
ファイルの一覧を許可されたユーザ
/var/cron/allow → /var/at/allow
ファイルの一覧を許可されたユーザ
/var/cron/deny → /var/at/deny

1日1回、時間設定 (システム環境設定「日付と時刻」の自動的に設定は、Offにしておく)
/usr/sbin/ntpdate time.asia.apple.com 1>>/var/log/cron.log 2>>/var/log/cron_error.log

[システム環境設定]
ネットワークを手入力に
省エネルギー設定で、スリープしない、停電後に自動再起動。

[BIND] ...LANからドメインでアクセスできるように
ここを参照して、webminで設定
http://earlybirds.ddo.jp/namahage/inegalog/artic...

[VirtualHost]
VirtualHostを使う場合、httpd.confに
Include /private/etc/apache2/extra/httpd-vhosts.conf
を書いて、httpd-vhosts.confに記述していく。別にhttpd.confに記述でもいいようだけれど。
起動時に、
Could not reliably determine the server's fully qualified domain name, using test1.com for ServerName
こんなエラーが出る場合は、
/etc/hosts をこんな感じで記述する。
127.0.0.1  localhost
127.0.0.1  test1.com

[SSL]
MacOSXでサーバー稼業の「Web共有をhttps接続できるようにしよう-Leopard編-」を参照
http://earlybirds.ddo.jp/namahage/inegalog/artic...

cd; cd Desktop; mkdir keys
cd keys
sudo openssl genrsa -out server.key 1024
openssl req -new -key server.key -out server.csr
sudo openssl genrsa -out ca.key 1024
openssl req -new -x509 -days 365 -key ca.key -out ca.crt
echo 01 > ca-cert.srl
sudo openssl x509 -CA ca.crt -CAkey ca.key -CAserial ca-cert.srl -req -days 365 -in server.csr -out server.crt

/System/Library/OpenSSL/certs

server.key、server.crt
を移動

sudo chown -R root:wheel /System/Library/OpenSSL/certs/server.*
sudo chmod -R 644 /System/Library/OpenSSL/certs/server.*

httpd.confに
Include /private/etc/apache2/extra/httpd-ssl.conf
追加して、httpd-ssl.confを編集。

[Postfix]
MailServe for Leopard
http://cutedgesystems.com/software/MailServeForL...
これを買ってしまおう。Postfix Enablerが機能強化されてのleopard版。

[Jcode.pm] (awstats用)
http://openlab.ring.gr.jp/Jcode/index-j.html
ダウンロードして解凍後、
cd Jcode-*
perl Makefile.PL; make
sudo make install

perlのパス
/opt/local/bin/perl

[MySQL スレーブデータの移植(スレーブからスレーブ)]
移植元で
cd /opt/local/bin
./mysql5 -u root -p

mysql> slave stop;

ステイタス内容を念のためメモ(必要ないけど)
mysql> show slave statusG;
データのバックアップ
sudo tar cvfz /Users/kuwa/Desktop/mysql5.tar.gz -C/opt/local/var/db/ mysql5

mysql> slave start;

移植先で
mysql5.tar.gzを/opt/local/var/db/mysql5と入れ替える
sudo mv mysql5 mysql5_def
sudo mv /Users/kuwa/Desktop/mysql5 /opt/local/var/db
sudo chown -R mysql:mysql mysql5

my.cnfにスレーブ設定を記述
cd /opt/local/var/db/mysql5
sudo rm relay-log.info
sudo /opt/local/bin/mysqld_safe5 --user=mysql &
cd /opt/local/bin; ./mysql5 -u root -p
mysql> show slave statusG;

[MySQL マスターバックアップデータから復帰]
データを移して起動しない場合、xxx-bin.index を 削除すると動く。
cd /opt/local/var/db/mysql5
sudo mv xxx-bin.index xxx-bin.index_old

[DBの修復] ...なんだか壊れていたテーブルがあったので
起動させた状態で
sudo mysqlcheck5 --user=root --password=パスワード --all-databases --auto-repair

[sleepモードの設定] ... sleepimageファイル容量の節約
pmset -a hibernatemode 0
sudo rm /var/vm/sleepimage

<?= xxx ?>

ブログ | 2008/11/9 17:07
<?php echo xxx ?>
と同じ。

最近、いろいろ知識を与えてくれる若者が傍にいて、とても嬉しい。

あと、PHPでも、Javascriptでも、
for(;;){

}
こんな書き方はアリみたい。無限ループ。

▼追記 2008/12/3 00:33
php.iniに
short_open_tag = On
を書くか、
.htaccessに
php_flag short_open_tag On
と書かなきゃ動かないのだ。

少し検索してみると、
XML宣言とぶつかるという記述もあったから、あまり奨励できないのかも。

フレームワークなんて自由じゃない

CakePHP's cake
CakePHP's cake (by koyhoge)
ブログ | 2008/11/5 21:21
cakePHPよりPHPの方が断然自由だ。
と、思う、ので、あります、よ。

PHPの良さが台無しだ。
MVCとか古いってばさ。

とか言っていてみれば、誰かがそれの良さを語って、僕にモチベーションを与えてくれるのかも知れない。
タグ

php.iniのメモ

ブログ | 2008/11/2 15:21
なんとなく基本
mbstring.internal_encoding = UTF-8
display_errors = Off
upload_max_filesize = 8M

short_open_tag = Off
おそらく、<? ?>を許可するかどうか。offだと、&lt;?php  ?&gt;だけ。なんとなく僕は<?phpと書いてきているのでOff。

precision=14
小数点以下の桁数。例えば、pi()で14桁返ってくる。

output_buffering = 4096 | On | Of
使った方が良さそうなので、ONか数字で。

allow_call_time_pass_reference = Off | On
関数への参照渡しがあーだこーだらしいが、OFFにしとく。

error_reporting = E_ALL  | E_ALL & ~E_NOTICE
E_ALLでいいんじゃないかな。

log_errors = On
error_log = /var/log/php_error.log
エラーログの出力。

variables_order = "GPCS" | "EGPCS"
$_ENVを使うならEを入れるということらしい。

register_long_arrays = Off
register_argc_argv = Off
magic_quotes_gpc = Off
このあたりはOffで。

session.hash_bits_per_character = 5
5で問題なし。

url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset="
これでよかろう。

本腰、leopardでサーバーの構築

ブログ | 2008/11/1 20:12
事前に、OSのインストールCDから、Xcode Toolsをインストールしておく。

1. MacPortのインストール
http://www.macports.org/install.php
のLeopard (Universal)をパッケージでインストール。

/User/kuwa/.bash_profile というファイルを作って、
export PATH=/opt/local/bin:/opt/local/sbin/:$PATH
export MANPATH=/opt/local/man:$MANPATH
と記述。

で、MacPortsをアップデート(最新版をダウンロードしたばかりなのに必要あるのだろうか? まあいい、portコマンドが動くかのテストだ。)
Terminalは新しいウインドウで。
sudo port -d selfupdate
sudo port -d sync

さて、下記サイトを参考にMySQLとPHPとGDを入れる。
http://colamune.com/blog/vol/30

2. MySQLのインストール
sudo port -d install mysql5 +server
sudo /opt/local/bin/mysql_install_db5 --user=mysql
sudo chown -R mysql /opt/local/var/db/mysql5/
sudo chgrp -R mysql /opt/local/var/db/mysql5/
sudo mkdir /opt/local/var/run/mysql5
sudo chown mysql:mysql /opt/local/var/run/mysql5/
chmod 775 /opt/local/var/run/mysql5

起動してみる
sudo /opt/local/bin/mysqld_safe5 --user=mysql &

MySQLパスワードの設定
cd /opt/local/bin
sudo ./mysqladmin5 -u root password 'パスワード'

MySQL webmin設定
/opt/local/bin/mysqlshow5
/opt/local/bin/mysqladmin5
/opt/local/bin/mysql5
/opt/local/bin/mysqldump5
/opt/local/bin/mysqlimport5
/opt/local/bin/mysqld_safe5 --user=mysql &

MySQL共有ライブラリディレクトリへのパス
/opt/local/lib/mysql5/mysql

Path to MySQL databases directory
/opt/local/var/db/mysql5

MySQLの自動起動
sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist

3. apacheのインストール
sudo port -d install apache2
sudo launchctl load -w /Library/LaunchDaemons/org.macports.apache2.plist

sqlite3あたりで失敗したら、
sudo port clean --work sqlite3
としてもう一度。

httpd.conf
/opt/local/apache2/conf/httpd.conf

起動とか
sudo /opt/local/apache2/bin/apachectl configtest
sudo /opt/local/apache2/bin/apachectl start
sudo /opt/local/apache2/bin/apachectl graceful
sudo /opt/local/apache2/bin/apachectl restart

webmin
/opt/local/apache2
/opt/local/apache2/bin/httpd
/opt/local/apache2/bin/apachectl
/opt/local/apache2/conf/httpd.conf
/opt/local/apache2/conf/mime.types

/opt/local/apache2/conf/httpd.conf
httpd.conf.sampleから作る。

4. PHPのインストール
GDはデフォルトで入ったらしい
http://www.sooey.com/journal/2008/05/24/735/
variantsは、
port variants php5
で調べられる。で、インストール

どうも失敗したので、これらを先に入れてみる。
sudo port install freetype
sudo port install jpeg
sudo port install libpng
で、インストール。
sudo port -d install php5 +apache2 +mysql5 +pear
失敗したら
sudo port clean --all php5
でもして、もう一度。

cd /opt/local/apache2/modules
sudo /opt/local/apache2/bin/apxs -a -e -n "php5" libphp5.so
sudo cp /opt/local/etc/php.ini-dist /opt/local/etc/php.ini

httpd.conf
<IfModule mime_module>に
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
を記述して、apache再起動。


参照
http://colamune.com/blog/vol/30
http://www.sooey.com/journal/2008/05/24/735/
▼追記 2008/11/2 13:22
php.ini
/opt/local/etc/php.ini
php
/opt/local/bin/php
pear
/opt/local/bin/pear

my.cnf
/opt/local/etc/mysql5/my.cnf
(/opt/local/share/mysql5/mysql/my-large.cnf にサンプル)

mysqlのdataフォルダ(このあたりちょっと違う)
/opt/local/var/db/mysql5

たぶん。
▼追記 2008/11/2 13:43
php.ini
mbstring.internal_encoding = UTF-8
display_errors = Off
upload_max_filesize = 8M

まだ、チェック必要


| 1 | 2 | ..... | 6 | 7 | 8 | ..... | 11 | 12 |

Rottel内コンテンツ

ユーザー一覧

Rottelとは?
利用規約
開発飲料
利用者の声
ヘルプ
close