ラベル php の投稿を表示しています。 すべての投稿を表示
ラベル php の投稿を表示しています。 すべての投稿を表示

2013年7月14日日曜日

MacBook Air に PHPUnit をインストールしてみる

■MacBook Air に PHPUnit をインストールしてみる
環境:MacBook Air OS X 10.8.4

●pear のインストール
・pear インストール
・MacOS X Mountain LionにPEARをインストールする
http://memorandum9.blogspot.jp/2012/11/macos-x-mountain-lionpear.html

・php.ini を修正
・php.iniの確認
http://www.phpbook.jp/pear/install/index2.html

$ sudo vi /private/etc/php.ini.default
L804追加
include_path = ".:/php/includes:/usr/lib/php/pear"

●PHPUnit のインストール
・第3章 PHPUnit のインストール
http://phpunit.de/manual/3.7/ja/installation.html

$ sudo pear config-set auto_discover 1
$ sudo pear install pear.phpunit.de/PHPUnit

・PHPUnit のバージョンを確認
$ phpunit --version

Warning: require_once(File/Iterator/Autoload.php): failed to open stream: No such file or directory in /usr/lib/php/pear/PHPUnit/Autoload.php on line 64

(´-`).。oO(ぐぬぬ、、、でも/usr/lib/php/pearでコマンド叩くと動く、、、パス?pearへのパスは通してるはずだが、、、謎い)

・pearからphpunitをインストール
http://wiki.nonip.info/work/index.php?php%2Fphpunit%2F%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB

ーーー中_/乙(、ン、)_略ーーー

(´-`).。oO(そういやあphp.ini.defaultってなんだろ?)
・Mac に最初から入っている PHP の php.ini の場所
http://qiita.com/odorry/items/66a578b7b54697d98d4e

・php.ini.default から php.ini をコピー
$ sudo cp /private/etc/php.ini.default /private/etc/php.ini

・PHPUnit のバージョンを再度確認
$ phpunit --version
PHPUnit 3.7.22 by Sebastian Bergmann.

(´-`).。oO(またしても思い込みによるハマリが発動した、、、まるで成長していないが諦めたらそこで試合終了とかなんとか)

次はSelenium webDriverだ

2012年8月5日日曜日

VirtualBoxで開発環境構築 アプリケーションのインストール

Apacheのインストール

  • Apacheのインストールコマンド
    • yum -y install httpd
  • Apacheの設定
    • ランレベルの設定
    •  /sbin/chkconfig httpd on
    •  /sbin/chkconfig --list httpd

MySqlのインストール

  • MySqlのインストールコマンド
    • yum -y install mysql-server
  • MySqlの設定
    • vi /etc/my.cnf
  • [mysqld] に追加
    • default-character-set = utf8
    • skip-character-set-client-handshake
    • character-set-server = utf8
    • collation-server = utf8_general_ci
    • init-connect = SET NAMES utf8
  • [mysqld_safe]の後に以下を書き込む
  • [client]
    • default-character-set = utf8
  • [mysql]
    • default-character-set = utf8
  • [mysqldump]
    • default-character-set = utf8
  • 自動起動設定
    • /sbin/chkconfig mysqld on
    • /sbin/chkconfig --list mysqld
  • 起動を確認
    • /etc/init.d/mysqld start

PHPのインストール

  • 取得先のGPG-KEY 取得
    • rpm –import http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka
  • 設定ファイルを作成
    • vi /etc/yum.repos.d/utterramblings.repo
[utterramblings]
name=Jason’s Utter Ramblings Repo
baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka
  • 取得先のGPG-KEY 取得
    • yum install php
    • yum install php-devel
    • yum install php-common
    • yum install php-gd php-mbstring php-pdo php-mcrypt php-mysql php-ncurses php-xml
  • バージョンの確認コマンド
    • php -v

Pearのインストール

  • Pearをインストール
    • yum -y install php-pear

Symfonyのインストール

  • symfonyのチャネルを登録
    • pear channel-discover pear.symfony-project.com
  • symfonyのチャネルを登録
    • pear channel-discover pear.symfony-project.com
  • Pearでsymfonyをインストール
    • pear install symfony/symfony-1.0.20
  • バージョンの確認コマンド
    • symfony -V

vsftpdのインストール

2012年7月24日火曜日

2012年07月24日 オライリーEbookを購入

オライリーEbookを購入



両方とも多分初級者向けな感じ
値段も少し安い、ボリュームも気が遠くなるほどでもないっぽいので購入
Webエンジニア養成科を修了した人にとっては、phpの復習と補完にちょうどいい内容に感じる
上級過ぎず入門書過ぎず、即使えるプラスαが習得できると思われる
とにかくphpを使って動かすことから、もう少し体系的な学習とプログラミングという概念の視野を広げるために丁度良いんじゃないかなという感想

オライリーのEbookストアで購入すると、どちらも1512円(日本語)
iphoneアプリでは600円(英語)

iphoneアプリ版を購入すれば、アプリをepub化してipadで読める
perl - O'ReillyのiPhoneアプリ本からepubをぶっこぬく
↑このあたりを参照

英語を読める人にとっては全部買うでしょレベルかもしれない
(英語をガチで学ぶ決意をするほどのお得感……ぐぬぬ……)

EbookはDRMフリーなのでいろんな端末で読めてとても良いし、
データが消えても再ダウンロードが可能
PDFなのがちょっと微妙かなという程度

アプリをepub化してibooksの辞書機能も使えるようになるっぽい
(設定をいじらなければ英英辞書、どこかをいじれば英和にできるっぽいので慣れてきたらチャレンジだ)

とりあえずスキルが初級レベルなので日本語版と英語版の両方を買って専門用語や言い回しに慣れるとかがいいかもしれない
今はまず、プログラミングのスキルアップが重要であるとの判断
(日本語版と英語版の差額がラーメン一杯分なのでマジでくやしい)

とにかくガチで英語を学ぶ理由も出来たのでよしとする

2012年7月20日金曜日

2012年07月20日 講義103日目(最終日)

2012年07月20日
講義103日目
------------------------------1H------------------------------
★ショッピングカート
●仕様
・カートの情報は全て$SESSION["cart"]内で管理
・$SESSION["cart"]内に商品情報を要素として持つ配列を生成する
・$SESSION["cart"][]内の商品情報に与える要素(テーブル構成により変動)
商品ID
商品名
価格
注文数
画像ファイル名
・カートの中身一覧ページ、他のページから参照できる簡易表示部品の二点を作成する
・中身一覧ページにアクセスする際にカート内に情報を追加する
・中身一覧ページでは、テーブル内のプライマリーなキーとして「ID」を
    注文数として「quantity」を添え字としたデータをgetで渡すものとする
    いずれかが存在しない場合はカート内に情報を追加しない
・中身一覧ページで在庫数を変えられるようにするカート外で行うべき処理
・既にカート内に存在する商品の場合追加しない
・カート外で行うべき処理
    ユーザが「カートに入れる」行動を取る際、在庫を上回る数を選択しないように導くこと
    注文を確定させた段階で在庫量カラムの数を減らすこと
    在庫を上回る注文であった場合にエラーとなること(※)
    テーブルに存在しないIDであった場合にエラーとなること(※)

※他のページでも行う可能性のあるエラーチェックのため関数化しておく
------------------------------2H------------------------------
★ショッピングカート
●cartの作成
①カートが存在しなければ初期化する
②まずはフォームから送られてきた「ID」「stock」を受け取れる
③エラーチェックを行う
    IDとストックいずれかがないなら追加しない
    既にカート内に存在する商品の場合追加しない
    存在しないIDなら追加しない
    在庫を上回るstockなら追加しない
④問題なければDBからデータを取得
⑤カートに入れる
⑥最後にカートの中身を表示
・テンプレートに書いていく
------------------------------3H------------------------------
★ショッピングカート
●cart
・削除変更
  セッションを書き換える
  再びcartページに戻ってくる
------------------------------4H------------------------------
★環境のバックアップ
●VMware上のファイルを退避する
・FFFTPで接続し、一旦ローカルPCに落としてくる
(Cドライブ直下などに、退避用のフォルダを作成しておく)
・データベースのデータは、phpmyadminを使うか、mysqldumpコマンドを使ってエクスポートする
・rootユーザで作ったファイルは、FFFTPでは触れないで、一旦puttyでログインし、
  /home/userの下に移動してからFFFTPで取得する
・カレントディレクトリ下にフォルダやファイルが大量にあるなら、
  zipコマンドやtarコマンドで圧縮してから移動すると良い
  rootユーザのカレントディレクトリごと圧縮するにはrootになる
  zipコマンドでの圧縮例
  su
  zip -r /home/bk_from_vmware.zip /home/user
  mv /home/bk_from_vmware.zip /home/user
・.htaccess や .bash_profileなどのファイル名の頭に
  ピリオドの付くファイルは隠しファイルなので気をつける
●ローカルPCのファイルを退避する
授業で使用したPC内の退避ファイル例
・VMwareから退避したファイルたち
・インストールしたツールたち
・C\pleiades 下のプロジェクトや設定ファイル
・IDmanagerの保存ファイルや、パスワードはサービスごとに多岐にわたるので
  情報を紛失するとログインができなくなるため注意
------------------------------5H------------------------------
★RSS
●XMLの生成
生成ツールを使う
crontab で自動化
------------------------------6H------------------------------
★修了式
●コマンドプロンプト
・ftpコマンド
 ftp接続ができる
ftp open IPアドレス
対象のIPアドレスに対して接続することができる
put getで送受信が可能
ファイル単位でしか送受信できないので圧縮するなどしたファイルを送受信する
・sshコマンド
とかもある
●PHPの資格取得などで体系的に学ぶことも可能になるので受けてみるのもいいかもしれない
-----------------------------memo------------------------------

2012年4月25日水曜日

2012年04月25日 講義055日目

2012年04月25日
講義055日目
------------------------------1H------------------------------
★Firewallの設定
●最初に設定
・iptables -P INPUT ACCEPT
外部からのアクセスを許可
・iptables -P FORWARD DROP
次にデータを渡す
・iptables -P OUTPUT ACCEPT
外部にデータを渡す
・iptables -F
上のコマンドiptablesのルールの設定を反映させるためのコマンド
●icmp(ping) と自端末からの入力を許可
・iptables -A INPUT -p icmp -j ACCEPT

・iptables -A INPUT -i lo -j ACCEPT

●Web、FTP、POP、smtp による接続を許可
・iptables -A INPUT -p tcp --dport 80 -j ACCEPT

・iptables -A INPUT -p tcp --dport 21 -j ACCEPT

・iptables -A INPUT -p tcp --dport 110 -j ACCEPT

・iptables -A INPUT -p tcp --dport 25 -j ACCEPT

●ssh による接続を許可
・iptables -A INPUT -p tcp --dport 22 -j ACCEPT

●TCP の接続開始と応答、FTP データなどを許可
・iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

●ルールをセーブする
・/etc/init.d/iptables save
●cat /etc/sysconfig/iptables
設定の確認
●reboot
再起動するコマンド
------------------------------2H------------------------------
★Firewallの設定
●SELinuxを停止させる
他のプロセスに影響を及ぼさないようにする機能
・vi /etc/sysconfig/selinux
SELINUX=enforcing
↓
SELINUX=disabled
書き換える
・reboot
再起動
●アパッチのインストール
・getenforce
先ほどの変更がdisableであることを確認
・yum -y install httpd
httpdはアパッチのこと
●eclipseでサーバにリモート接続する
ウィンドウ→パースペクティブを開く→その他→リモートシステムエクスプローラ
リモートシステムタブの空白を右クリック→新規接続
puttyの設定と同じように、ホスト名にサーバのIPアドレスを入力
接続先の名前を設定して完了
・パスワードやユーザ名の入力を求められるので、CentOSで入力したものを使う
------------------------------3H------------------------------
★各種アプリケーションのインストール
●apache
●mysql
●PHP
●vsftpd
●ntp
------------------------------4H------------------------------
★アプリケーションのインストール
●
・ランレベル
[root@localhost ~]# /sbin/chkconfig httpd on
[root@localhost ~]# /sbin/chkconfig --list httpd
httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off
0:off   1:off   2:on    3:on    4:on    5:on    6:off
●apacheの起動
☆apacheの設定ファイルを書き換えた後などにも「restart」で使う
[root@localhost ~]# /etc/init.d/httpd start
httpd を起動中:                                            [  OK  ]
☆再起動させたい場合は
/etc/init.d/httpd restart
●Mysqlの起動
マイコンピュータからローカル環境のmysqlのmy.iniの
default-character-set = utf8
skip-character-set-client-handshake
character-set-server = utf8
collation-server = utf8_general_ci
init-connect = SET NAMES utf8
をコピー
・vi /etc/my.cnf
を貼り付け
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

default-character-set = utf8
skip-character-set-client-handshake
character-set-server = utf8
collation-server = utf8_general_ci
init-connect = SET NAMES utf8

# To enable the InnoDB Plugin, uncomment the 2 next lines
#ignore-builtin-innodb
#plugin-load=innodb=ha_innodb_plugin.so

# To enable InnoDB-related INFORMATION_SCHEMA tables
# Join the following options to above directive
  ;innodb_trx=ha_innodb_plugin.so
  ;innodb_locks=ha_innodb_plugin.so
・[mysqld_safe]の後に以下を書き込む
[client]
default-character-set = utf8
[mysql]
default-character-set = utf8
[mysqldump]
default-character-set = utf8
・自動起動設定
[root@localhost ~]# /sbin/chkconfig mysqld on
[root@localhost ~]# /sbin/chkconfig  --list mysqld
mysqld          0:off   1:off   2:on    3:on    4:on    5:on    6:off
[root@localhost ~]# /etc/init.d/mysqld start
------------------------------5H------------------------------
★アプリケーションのインストール
●コマンド入力でバージョンを確認
[root@localhost ~]# mysql -V
mysql  Ver 14.14 Distrib 5.1.58, for redhat-linux-gnu (i686) using readline 5.1
[root@localhost ~]# php -v
PHP 5.2.17 (cli) (built: Aug 31 2011 17:06:47)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies
[root@localhost ~]# symfony -V
symfony version 1.0.20
●vsftpの起動
・自動起動設定
[root@localhost ~]# /sbin/chkconfig vsftpd on
[root@localhost ~]# /sbin/chkconfig --list vsftpd
vsftpd          0:off   1:off   2:on    3:on    4:on    5:on    6:off
[root@localhost ~]# /etc/init.d/vsftpd start
vsftpd 用の vsftpd を起動中:   
●ntp  (時間合わせ)
/usr/sbin/ntpdate ntp.jst.mfeed.ad.jp
●FFFTPにサーバの登録
puttyを参考に
------------------------------6H------------------------------
★サーバでPHPファイルを実行
●phpファイルを実行
・コマンドラインから直接実行して確認
[nishi@localhost ~]$ /usr/bin/php ./test.php
test
●hostsの編集
・ブラウザから確認
・ローカル側の設定
firefoxのswitchhostでアドレス名とサーバIPアドレスを紐付ける
・サーバ側の設定
[root@localhost ~]# cd /etc/httpd/conf
[root@localhost conf]#
・/etc/httpd/conf.dにファイルを作成
[root@localhost httpd]# cd /etc/httpd/conf.d
[root@localhost conf.d]# vi httpd-vhost.conf

NameVirtualHost *:80

<VirtualHost *:80>
    ServerName www.shonanbbs.com
    DocumentRoot /home/nishi/bbs
    <Directory "/home/nishi/bbs">
        AllowOverride All
        Options -Include -ExecCGI
    </Directory>
</VirtualHost>
・再起動
[root@localhost conf.d]# /etc/init.d/httpd restart
httpd を停止中:                                            [  OK  ]
httpd を起動中: Warning: DocumentRoot [/home/nishi/bbs] does not exist
                                                           [  OK  ]
・eclipse上でbbsフォルダを作成
phpファイルを作成してhostsファイルで設定したサーバ名を入力し、
ブラウザから表示してみる
●mysqlのユーザを作る
・puttyでサーバのmysqlに接続
[root@localhost conf.d]# mysql -u root
・データベースを作成
mysql> create database study;
Query OK, 1 row affected (0.00 sec)
・ユーザ作成
mysql> GRANT ALL ON *.* TO nishi@"localhost" IDENTIFIED BY "password";
Query OK, 0 rows affected (0.01 sec)

-----------------------------memo------------------------------
サーバ面白い