「Wikipokpok:ブログ」の版間の差分
(→PHP) |
(→PHP) |
||
40行目: | 40行目: | ||
== PHP == | == PHP == | ||
=== phpMyAdmin === | === phpMyAdmin === | ||
− | + | ||
− | ==== | + | ==== 「リンクテーブルを処理するための追加機能が無効になっています。理由についてはこちらをご覧ください」解消 ==== |
管理用テーブル(phpmyadmin)の作成 | 管理用テーブル(phpmyadmin)の作成 | ||
51行目: | 51行目: | ||
/etc/phpmyadmin/config-db.php 編集 | /etc/phpmyadmin/config-db.php 編集 | ||
$dbname=”; を $dbname=’phpmyadmin’; に変更 | $dbname=”; を $dbname=’phpmyadmin’; に変更 | ||
− | |||
/etc/phpmyadmin/config.inc.php 編集 | /etc/phpmyadmin/config.inc.php 編集 |
2011年11月25日 (金) 21:52時点における版
目次
[非表示]Ubuntu10.04LTS
SSH鍵認証接続
リモート
$ ssh-keygen -t rsa $ scp .ssh/id_rsa.pub サーバのIPアドレス:~/
ホスト
$ cat id_rsa.pub >> .ssh/authorized_keys
Ubuntu11.04
VirtualBox
USB接続のプリンタを使えるようにする。 vboxusersグループ、lpグループに自分を追加する。
Thinkpadのトラックポイントスクロールを有効にする。
参考サイトUbuntu日本語フォーラム/Thinkpad TrackPoint Scrolling in Ubuntu Lucid/10.04
ファイルを新規作成する。 /usr/lib/X11/xorg.conf.d/20-thinkpad.conf 内容は以下のとおり。 Section "InputClass" Identifier "Trackpoint Wheel Emulation" MatchProduct "TrackPoint" MatchDevicePath "/dev/input/event*" Driver "evdev" Option "EmulateWheel" "true" Option "EmulateWheelButton" "2" Option "Emulate3Buttons" "false" Option "XAxisMapping" "6 7" Option "YAxisMapping" "4 5" EndSection 再起動。
10.10以降ならgpointing-device-settingsをインストールすれば楽だ。参考サイトThinkpad TrackPoint Scrolling in Ubuntu Maverick/10.10
途中からトラックポイントスクロールが利かなくなったので/etc/X11/xorg.confを新規作成し上記の設定を書き加えた。 参考サイトUbuntuJapaneseWiki
PHP
phpMyAdmin
「リンクテーブルを処理するための追加機能が無効になっています。理由についてはこちらをご覧ください」解消
管理用テーブル(phpmyadmin)の作成
zcat /usr/share/doc/phpmyadmin/examples/create_tables.sql.gz > /tmp/create_tables.sql mysql -u [mysql管理者ID] -p < /tmp/create_tables.sql rm /tmp/create_tables.sql
/etc/phpmyadmin/config-db.php 編集
$dbname=”; を $dbname=’phpmyadmin’; に変更
/etc/phpmyadmin/config.inc.php 編集
$cfg['Servers'][$i]['designer_coords'] = ‘pma_designer_coords’; の下に $cfg['Servers'][$i]['tracking'] = ‘pma_tracking’; を追記
未定義変数とエラー
Notice: Undefined variable: 未定義変数とエラーが返るときは『php.ini』の『error_reporting = E_ALL & ~E_NOTICE』を有効にして、他の『error_reporting 』を無効にする。
Apache
バーチャルホスト設定
参考サイトUbuntu Tips
LVMについて
まずVG (ボリュームグループ) の確認。
shudo@home-server:~$ sudo vgscan
PV (物理ボリューム) の作成。
shudo@home-server:~$ sudo pvcreate /dev/sda1
PVをVGに追加。
shudo@home-server:~$ sudo vgextend home-server /dev/sda1 Volume group "home-server" successfully extended
LV(論理ボリューム)をVGから2GB切り出す。
shudo@home-server:~$ sudo lvcreate -nhome -L2g home-server Logical volume "home" created
LVの削除
shudo@home-server:/$ sudo umount /home/ shudo@home-server:/$ sudo lvremove /dev/home-server/home Do you really want to remove active logical volume "home"? [y/n]: y Logical volume "home" successfully removed
shudo@home-server:~$ sudo lvdisplay /dev/home-server/home --- Logical volume --- LV Name /dev/home-server/home VG Name home-server LV UUID 6o5lfm-do8L-ZV8I-LOaJ-FEVU-P40o-Cpgxfv LV Write Access read/write LV Status available # open 0 LV Size 2.00 GB Current LE 512 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 252:2
切り出したLGをフォーマットする。
shudo@home-server:~$ sudo mkfs.ext4 -j /dev/home-server/home
空の/homeにマウントする。
shudo@home-server:~$ sudo mount /dev/home-server/home /home
shudo@home-server:~$ df -h ファイルシステム サイズ 使用 残り 使用% マウント位置 /dev/mapper/home--server-root 71G 1.6G 66G 3% / udev 2.0G 220K 2.0G 1% /dev none 2.0G 0 2.0G 0% /dev/shm none 2.0G 296K 2.0G 1% /var/run none 2.0G 0 2.0G 0% /var/lock none 2.0G 0 2.0G 0% /lib/init/rw /dev/sdb5 228M 29M 188M 14% /boot /dev/mapper/home--server-home 2.0G 67M 1.9G 4% /home
2GBの/homeに200GB足す。
shudo@home-server:~$ sudo umount /home/
shudo@home-server:~$ sudo lvextend -L+200g /dev/home-server/home Extending logical volume home to 202.00 GB Logical volume home successfully resized
shudo@home-server:~$ sudo mount /dev/home-server/home /home
202GBになった。
shudo@home-server:~$ sudo lvdisplay /dev/home-server/home --- Logical volume --- LV Name /dev/home-server/home VG Name home-server LV UUID 6o5lfm-do8L-ZV8I-LOaJ-FEVU-P40o-Cpgxfv LV Write Access read/write LV Status available # open 1 LV Size 202.00 GB Current LE 51712 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 252:2
自動マウントにする。
shudo@home-server:/$ sudo vi /etc/fstab /dev/mapper/home--server-home /home ext4 errors=remount-ro 0 1
寺院管理ソフト
CSVファイルからインポート
ファイルを移動する
shudo@shudo:~$ sudo cp meibo.csv /var/lib/mysql/tera/
インポート
mysql> LOAD DATA INFILE "meibo.csv" INTO TABLE kojins FIELDS TERMINATED BY ';' ENCLOSED BY '"' LINES TERMINATED BY '\n';
ZendFramework
apache2 php5 mysql phpMyAdmin SQLite zend-framework インストール
apt-get install apache2 apt-get install php5 libapache2-mod-php5 apt-get install mysql-server apt-get install phpMyAdmin apt-get install php5-sqlite apt-get install zend-framework
mod_rewriteを有効にする
shudo@shudo:~$ sudo a2enmod rewrite Enabling module rewrite. Run '/etc/init.d/apache2 restart' to activate new configuration! shudo@shudo:~$ sudo /etc/init.d/apache2 restart
エラー表示(する)
phpSettings.display_startup_errors = 1 phpSettings.display_errors = 1
PostgreSQL One-Clickインストーラというのもある
参考ページ[1]
Apache Web ServerとPHPはOne-Clickインストーラでインストールする。
インストーラーの起動の仕方。ファイル名を指定するだけ。
root@shudo-laptop:/home/shudo# ./postgresql-8.4.2-1-linux.bin
mediaWikiもインストールできる。最後にLocalSettings.phpを移動する。
root@shudo-laptop:/home/shudo# mv /opt/PostgreSQL/EnterpriseDB-ApachePhp/apache/www/mediaWiki/config/LocalSettings.php /opt/PostgreSQL/EnterpriseDB-ApachePhp/apache/www/mediaWiki
Zend FrameworkはPEARと同じディレクトリにインストールした。include_pathも指定する。
/opt/PostgreSQL/EnterpriseDB-ApachePhp/php/lib/php
Zend FrameworkのクラスファイルがあるディレクトリZendFramework-1.9.7/library/Zendにシンボリックをとおす。
root@shudo-laptop:/home/shudo# cd /opt/PostgreSQL/EnterpriseDB-ApachePhp/php/lib/php root@shudo-laptop:/home/shudo# ln -s ZendFramework-1.9.7/library/Zend
コマンドラインツール
root@shudo-laptop:/home/shudo# cd /usr/bin/ root@shudo-laptop:/home/shudo# ln -s /opt/PostgreSQL/EnterpriseDB-ApachePhp/php/lib/php/ZendFramework-1.9.7/bin/zf.sh root@shudo-laptop:/home/shudo# zf.sh show versionZend Framework Version: 1.9.7
shudo@shudo-laptop:~$ vi ~/.profile alias zf=/opt/PostgreSQL/EnterpriseDB-ApachePhp/php/lib/php/ZendFramework-1.9.7/bin/zf.sh
/wwwの所有者を変更
shudo@shudo-laptop:/opt/PostgreSQL/EnterpriseDB-ApachePhp/apache$ chown -R shudo:shudo www
チュートリアル
プロジェクトの作成
shudo@shudo-laptop:/opt/PostgreSQL/EnterpriseDB-ApachePhp/apache/www$ zf.sh create project tera
2011/2/1
shudo@www-server:/var/lib/mediawiki$ zf create project a60
ライブラリにシンボリックをとおす
shudo@shudo-laptop:/opt/PostgreSQL/EnterpriseDB-ApachePhp/apache/www$ cd tera/library/ shudo@shudo-laptop:/opt/PostgreSQL/EnterpriseDB-ApachePhp/apache/www/tera/library$ ln -s /opt/PostgreSQL/EnterpriseDB-ApachePhp/php/lib/php/Zend
2011/2/1
shudo@www-server:/var/lib/mediawiki$ cd ./a60/library/ shudo@www-server:/var/lib/mediawiki/a60/library$ ln -s /usr/share/php/libzend-framework-php/Zend/
test
http://localhost/tera/public/
postgresのテーブルをmyslのテーブルに移す
idはコピーしない
a60=# \COPY a60_bbs_tab (name, text, date) TO a60bbscopy.txt
文字コードの調整
shudo@red:~$ nkf -w a60bbscopy.txt > a60bbscopyutf8.txt
ファイル名とテーブル名を合わせる
shudo@www-server:~$ mysqlimport -u shudo -p -c email,comment,created a60 guestbook.txt
Zend_Validateのメッセージを日本語にする
清少納言 枕草子について
966年?~1025年?平安時代の女流作家 清原諾子(なぎこ)?
「清少納言」は女房名で、「清」は清原の姓から、「少納言」は親族の役職名から採ったとされている。実名は不明、「諾子(なぎこ)」という説(『枕草子抄』)もあるが信ずるに足りない。
左大臣⇒右大臣⇒内大臣⇒大納言⇒中納言⇒参議⇒左大弁⇒右大弁⇒少納言
天元4年(981年)15歳の頃、橘則光と結婚し、翌年一子則長(982年 - 1034年)を生むも、武骨な夫と反りが合わず、やがて離婚した。
当時の結婚は、一夫多妻制で、通い婚であったために、主人がこなくなれば、それで離婚ということになり、下級に近い中級貴族の娘たちの結婚は、現在のように一生涯をかけての結婚生活という意識はあまりなかった。10年を過ぎたころに則光がこなくなり、それで離婚ということになった。
正暦4年(993年)27歳冬頃から、中宮定子(17歳)に仕えた。定子は正暦元年(990年)1月25日、数え14歳の春に、3歳年下の一条天皇に入内した。
博学で才気煥発な彼女は、主君定子の恩寵を被ったばかりでなく、公卿や殿上人との贈答や機知を賭けた応酬をうまく交わし、宮廷社会に令名を残した。
- く‐ぎょう【公卿】公(こう)と卿(けい)の総称。公は太政大臣・左大臣・右大臣、卿は大納言・中納言・参議および三位以上の朝官をいう。
- れい‐めい【令名】よい評判。名声。
- 【草子】 物語・日記・歌書など、和文で記された書物の総称。
PostgreSQLについて
バックアップと復元
pg_dumpallのファイルから特定のテーブルのみをリストアする
- hogeテーブルのデータの一部を誤って消してしまったので、crondでpg_dumpallしているファイルから復元する。
- pg_dumpallで出力されたファイルをエディタで開き、復元したいテーブルのデータの部分だけをコピーして新しいhogedata.txtテキストファイルをつくる。
- hogeテーブルのデータをすべて消して、\copyでhogedata.txtのデータを戻す。
\COPY hoge_tab (id, name, zip, addr, phone) FROM /home/hogedata.txt
税務について
源泉徴収事務
従たる給与を支払う場合は乙欄の税額を適用する。
年末調整
控除対象配偶者と配偶者特別控除
(平成20年度)給与所得のみの場合、収入金額が103万円未満の場合は控除対象配偶者。収入金額が103万以上141万未満の場合は配偶者特別控除となる。
103万円未満と104万円の控除額は38万円で同じなので、どうしてか税務署に聞いてみた。すると所得税がかかるというところで違いがでるとのことだった。
Zend Frameworkについて
Zend_Db_Tableでのjoin
setIntegrityCheck(false)を書かないとエラーになるので注意。
$table = new Bugs(); $select = $table->select()->setIntegrityCheck(false); $select->where('bug_status = ?', 'NEW') ->join('accounts', 'accounts.account_name = bugs.reported_by', 'account_name') ->where('accounts.account_name = ?', 'Bob'); $rows = $table->fetchAll($select);
Zend_Paginator
Zend_Paginatorの使い方を教えてください。リファレンスガイドを見ましたが分かりません。検索をかけても情報がありません。クイックスタートに組み込みたいと思っています。どなたかよろしくお願いします。--住職 2009年2月3日 (火) 18:16 (JST)
- GuestbookController.php
public function indexAction() { $model = $this->_getModel(); //$this->view->entries = $model->fetchEntries(); $entries = $model->fetchEntries(); $paginator = Zend_Paginator::factory($entries); //1ページに表示するエントリ数 $paginator->setItemCountPerPage(5); $paginator->setCurrentPageNumber($this->_request->getParam('page')); $this->view->paginator = $paginator; }
- /views/scripts/guestbook/index.php
<? //foreach ($this->entries as $entry): ?> <? foreach ($this->paginator as $item): ?> <?= $this->escape($item['id']) ?>[<?= $this->escape($item['name']) ?>] <?= $this->escape($item['comment']) ?> <?= $this->escape($item['created']) ?> <? endforeach ?> //pagination_control.phtmlは/views/scripts/内につくる。 <?= $this->paginationControl($this->paginator, 'Sliding', 'pagination_control.phtml'); ?>
- /views/scripts/pagination_control.phtml
<?php if ($this->pageCount): ?> <?php if (isset($this->previous)): ?> <a href="<?= $this->url(array('page' => $this->previous)); ?>">前へ</a> <?php else: ?> 前へ <?php endif; ?> <?php foreach ($this->pagesInRange as $page): ?> <?php if ($page != $this->current): ?> <a href="<?= $this->url(array('page' => $page)); ?>"><?= $page; ?></a> <?php else: ?> <?= $page; ?> <?php endif; ?> <?php endforeach; ?> <?php if (isset($this->next)): ?> <a href="<?= $this->url(array('page' => $this->next)); ?>">次へ</a> <?php else: ?> 次へ <?php endif; ?> <?php endif; ?>
以上で、selectした結果をグーグルのようにページ移動できるようになりました。
Zend Frameworkとコンソールの文字化け
データベースに接続するとき、文字コードを UTF-8 に設定すると回避できる。クイックスタートではbootstrap.phpを次にのようにした。
$dbAdapter = Zend_Db::factory($configuration->database); // 文字コードを UTF-8 に設定する $dbAdapter->query("set names 'utf8'");
Mysqlについて
接続
shudo@red:~$ mysql -u shudo -p
データベース一覧
mysql> SHOW DATABASES;
データベース選択
mysql> use tera;
テーブル一覧
mysql> SHOW TABLES;
CSVファイルをインポートする
mysql> LOAD DATA INFILE "meibo.csv" INTO TABLE kojins FIELDS TERMINATED BY ';' ENCLOSED BY '"';
CREATE TABLE構文のみ出力する
$ mysqldump -d -u hoge -p データベース名 > 出力ファイル名
AUTO_INCREMENTの開始番号を指定する。
mysql> ALTER TABLE hoge AUTO_INCREMENT=100;
データベースごとに文字コードを設定する。
mysql> SET NAMES utf8; ....utf8,ujis
文字コードの確認
mysql> SHOW VARIABLES LIKE 'character\_set\_%';
phpからのクエリで文字化けするときの対策。
$db = mysql_connect("localhost", "hoge", "piyo"); mysql_select_db("poyo",$db); mysql_query("SET NAMES utf8");
http://www.myspace.com/kungfoolfighting
EmEditor Freeのインストール
コマンドプロンプトから次のようにしました。--住職 2008年7月25日 (金) 14:18 (JST)
emed6004jfx.msi /passive
サラ川に 今年も映る 世相かな
私は57がお気に入りです。--住職 2008年7月21日 (月) 23:33 (JST)
西暦元号対照表
過去帳整理のときに便利です。--住職 2008年7月10日 (木) 17:05 (JST)