Monday, 23 January 2012

XAMPPをぶん投げて、自分で1から環境構築はやめた

しようとしましたが、ちょっとエラーが起きて、
試行錯誤の過程でぶん投げたきっかけも解消されたのであきらめました。
環境はMac OS X10.6.8 SnowLeopardです

一応調べたことの備忘録

▼前提とやったことの全体像
1,前提
2,apacheの動作確認とphpの動作設定
3,ドキュメントルートの変更
4,MySQLとPHPmyadmin


1,前提
今回作成する環境は、Apache、php、MySQL+phpmyadmin
SnowLeopardにはApacheとphpがデフォルトでインストール済み

2,apacheの動作確認とphpの動作設定
Sustem Preference>Sharing から Web Sharingをonにする。これでApacheが起動。
→ブラウザからhttp//:localhostにアクセスで「It works!」と表示される

さらにphpを使用するために
sudo vim /private/etc/apache2/httpd.conf  vimでhttpd.conf を開く
#LoadModule php_5module     libexec/apache2/libphp5.so のコメントを外す(#を外す)
sudo /usr/sbin/apachectl restart Apacheを再起動

これでphpが使えるようになるはず


3,ドキュメントルートの変更
sudo vim /private/etc/apache2/httpd.conf  vimでhttpd.conf を開く
DocumentRoot "/library/~~~~~~" を変更

4,
こっからやらず…

参考URL

Friday, 9 December 2011

[2002] No such file or directory - Mac/XAMPPでMysql接続エラー

XAMPP for MacでMySQLに接続できないエラーが起きたのでメモ

この何の変哲もないコードで
        if( !$conn = mysql_connect( $host, $user, $pass ) )

出たエラーはこれ

Warning: mysql_connect(): [2002] No such file or directory (trying to connect via unix:///var/mysql/mysql.sock)

結論から言うと、ホスト名($host)を localhost → 127.0.0.1 に変更で解決しました。
Mysqlは localhostと指定すると unix domain socketを使うのですが、
IPで指定することで TCP socket を使わせることができるのだそうです。

windows版XAMPPでは問題が起きなかったため、それなりにとまどいました。

さらに時間をくわせたのが、上記エラーをググって出てきた、
cakephpのbakeする時?とかに発生するらしい
mysql.sockのパスの変更による解決。せっかくなのでメモ

php.iniで指定したパスと実際に見ているところが違う場合に同様の エラーが起こるらしい

解決法は以下らしい
1 - php.iniのパス変更 参考記事
2 - シンボリックリンクの作成  参考記事
3 - my.cnfの設定変更 参考記事

ちなみに phpinfo() でphp.iniの場所と、見てるmysql.sock の場所が確認できます

※因果関係は不明ながら、この後mysqlが起動しなくなる事象が発生
別のmysqlが起動してますみたいなメッセージ出てた。で、状態としては、
・ブラウザ上でphpファイルは普通にmysqlにつないで情報読み込めてる
・phpmyadminのそのページで使用しているテーブルを読み込もうとするときのみ 2002 エラーが発生
・phpmyadminでその他のテーブルは普通に見れる
てな感じでした。ググって出てくるmysql起動しないも当てはまらないし、一旦放置

Monday, 5 December 2011

ファイルパーミッションの概要、変更方法等まとめ

Macを使うようになってから、ファイルパーミッションの問題でつまずくことがでてきた。
-外付けハードディスクにファイルをコピーできない
-新しいフォルダが作れなくなる
-OpenPNEのインストールに失敗する
といった問題が発生した。

そこで個別の対処法をぐぐるだけでなく、
一旦ファイルパーミッションについて整理することにした。

▼パーミッションの概要
各ファイルに対し、誰がどんな操作が可能かを設定するもの。
全ファイルとかディレクトリごとに設定されている。

▼パーミッションの分類、表記
UNIX系システムにおいては、
各ファイルに「3タイプのクラス」ごとに「3種類の権限」を設定する。

-クラス クラスとはOSで設定するものでアクセス経路とかは関係ない 
owner ファイルの所有者。初期はそのファイルを設置したアカウント
group 所属グループ。初期はそのマシン内のアカウント
others 上記をのぞくユーザー

-タイプ 3種類。他にも種類もあるが、いったん省く
read 読み込みファイルを読む権限
write ファイルに書き込む権限。ディレクトリならフォルダ作るとか
execute ファイルを実行する権限。ディレクトリなら中に入る

-表記
例 -rwxrwxrwx
文字表記。クラスとライプの組み合わせごとに位置が決まっている
1番左はファイルの種類とか -はファイル dはディレクトリ
2-4、5-7、9-10はそれぞれ、owner,group,others

例 755
数字表記。左からowner,group,othersで、r=4、w=2、x=1で足す。

▼パーミッションの確認方法
-FTPクライアントで見る
- ls -l で見る

▼パーミッションの変更方法
-FTPクライアントで変更する
- chmod 変更内容 ファイル名 で変更

Saturday, 3 December 2011

ポートの問題でXAMPPのApacheが起動しない時の対処

シンプルに対処だけじゃないところが素敵でした

・エラーメッセージを見てみる
・ポートの占有状況、占有プロセスを確認する
という形での対処です

XAMPPでApachが起動しない場合のわりと汎用的な調査・解決方法まとめ

Sunday, 27 November 2011

大切にするもの

ちょっと技術には関係ないことを

今の会社を12月でやめることにしました
やめるにあたって思うことはいろいろあったのですが、
一つ、方法論レベルで変えようと思うことがあったので書きたいと思います

僕は、○○をやったほうがいいよ~という意見にあまり共感しません

人生は有限である以上、時間の使い方は選択と集中をすべきだと思っています
どんな経験からでも学べることがある以上、やったほうがよいことなんて無限にあり、
そこから得られるものが、いかに自分の将来の方向性と合致するか
また効率よく得られるかということを考えぬいて選び取っていく必要があると思うのです


そんな考え方の背景もあり
僕は仕事を、スキルと実績を残すことが最優先であるとして、
職場の人付き合いをあまり大事にしていませんでした
もちろん愛想は悪くないし、仕事上での相手への気遣いというのには細心の注意を払っていましたが、
例えば仕事後の飲みとか、仕事時間中の雑談なんかは距離を置いていて、
仕事を盾に忙しいオーラを発していたと思います(実際そうやっても日付が変わることはしばしば)

そんなこんなで上海のオフィスを去ることが決まった後、
僕はたかだか3ヶ月(帰国もあって実質2.5ヶ月弱)いただけで、
かつあまり人付き合いのよくなかった自分の去り際はあっさりしたものになると思っていました

しかし実際に僕を待っていたのは、蟹、火鍋、中華、チーズケーキ等数々の送別会
本当に暖かい言葉、残念そうな顔

最後の日、僕は持ってきたチョコレートを配り、握手をしながら自問自答しました
もっとみんなに感謝を伝え、笑顔の思い出を作ることができたんじゃないのか
でも、情を捨ててでも突き進まなければならない厳しい道を選んだのではなかったか

程度の問題だろうし、明確な答えが出たわけではありません
最初に書いた選択と集中をすべきという考え方は変わりません
ただ、今後これまでと同じように、無口で冷めてて控えめというキャラを盾にして仕事だけに没頭することはないでしょう

そして幸い、彼らには上海に行けばまたいつでも会うことができる

Sunday, 13 November 2011

Notice: Undefined indexへの対応

さて、前回の記事との間でシンガポールから上海勤務に、そしてその先へ‥
僕の置かれる状況はめまぐるしく変わる。そんなことが楽しくもあります

今回はcodezineというサイトの「プログラミング未経験から始めるPHP入門」という記事を復習していました
すると、前回は問題なく動いたコードが、エラーを吐きました。

Notice: Undefined index

調べてみると、配列が未定義の場合に起こるエラーのようです
ちなみに変数が未定義の場合は Undefined variableですね

以下のようにエラーを表示しないという対応もありうるようですが、
・@(直後の操作のエラーを表示しない)をつける(超簡単!使いたい!)
・error_reporting(E_WARNING); で表示しない(これは一撃だけど全くエラー見えないのも不安)

初心者としては丁寧にエラーを潰す方法を探求

$_REQUEST["hoge"] = isset($_REQUEST['hoge']) ? $_REQUEST['hoge'] : null;

これでエラーは消えましたとさ

だけど、配列内でもエラーが起きる奴と置きない奴がある理由がわからんのと
エラーが起きたアイテム全部これかくのはどうかと思うので、まとめて処理するfunctionとか作れないかなってとこでもう少し要探求ですな

Sunday, 7 August 2011

夏休みに旅行をやめた話

まだ始めて間もないのに、間が開いてしまいました

この間も、別ファイルからの読み込みや、オリジナル関数の作り方を学んではいたのですが、
書くコードを考えてるうちにぐだって今にいたっています

それはおいといて、3日間夏休みがもらえることになりました
当初は、土日シンガ祝日と合わせた6日間で東南アジア3カ国を回ることを考えていました

むしろ、計画もたて、タイムライン、航空券、ツアー、宿まで決定済みでした
まずはホーチミンに飛んで、市内観光とメコンクルーズとクチトンネル訪問
ついでシェムリアップに飛び、アンコール遺跡を見る
そっからバンコクまで陸路国境越え
最後はアユタヤを見た後、飽きるまでバンコク、パタヤでマッタリ

しかし、休みの日程が確定して、いざ予約をしようと思ったときどうしようもない疑問をいだきました

で、今行く必要あるの?

そして再確認してみました
残念ながら僕が東南アジア周遊に行こうと思った最大の理由は、
「今、せっかく東南アジアにいるし」でした

しかし現実に東南アジア(シンガポール)にいる場合と
日本にいる場合での東南アジア旅行(ここではタイ往復)を比較すると
・時間、往復10時間程度の短縮
・航空券代、往復35000円程度の節約

今ここで6日間をまるまるエンジニアリングにあてられることは、どれだけの価値があるだろう
そして、エンジニアリングによって「サービスを作れる」ようになったとき
僕の目の前に広がりつながることのできる世界は、どれだけ広大なのだろう

そして決めたのです
「夏休みは引きこもろう」と