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

2013年3月5日火曜日

composerの続編だお。

Symfony2でKnpLabs/KnpOAuthBundleを入れようとしてたんだお。

composer.jsonのrequireに下記のように記述するとできたっぽいよ。
"require": {
"php": ">=5.3.3",
"symfony/symfony": "2.1.*",
"doctrine/orm": ">=2.2.3,<2.5-dev", "doctrine/doctrine-bundle": "1.1.*", "doctrine/data-fixtures": "dev-master", "twig/extensions": "master", "symfony/assetic-bundle": "2.1.*", "symfony/swiftmailer-bundle": "2.1.*", "symfony/monolog-bundle": "2.1.*", "sensio/distribution-bundle": "2.1.*", "sensio/framework-extra-bundle": "2.1.*", "sensio/generator-bundle": "2.1.*", "sensio/buzz-bundle": "*", "jms/security-extra-bundle": "1.2.*", "jms/di-extra-bundle": "1.1.*", "kriswallsmith/assetic": "1.1.*", "kriswallsmith/buzz": "dev-master", "knplabs/knp-oauth-bundle": "dev-master" },


なんて書いたらいいかわからない時はpackagistで調べた方がよさげだね。
ここならバージョンもなんて書いたらいいかわかるね。
でも本当はpackagistってなんなのかまだよくわかってないよ(ぉぃ

参考:Composerの使い方を調べたメモ(1)

2013年3月4日月曜日

Symfony2のcomposerでDoctrineFixturesBundleを入れようとした時に困った件

重要なこと

Symfony2.1からはComposerで外部ライブラリの管理をしているらしい。

参考:PHPの外部ライブラリの管理にComposerを使う

オートロード用のファイルも生成するらしく(まだよくわかってないんですけど)

オートローダー関連のところもドキュメントとずれてるのかなんなのかアレだった。
Composer使えば管理が簡単になって、APCクラスローダーと同等のスピードだとかなんとか言ってるじゃねえかなこれは→Composer vs Symfony 2 autoloader

DoctrineFixturesBundleのインストール

で、本題なんですけど、
本家マニュアル通りだとうまくいかず、"doctrine/doctrine-fixtures-bundle"を"doctrine/data-fixtures"にしたらうまくいった。
まだバンドルを使ってみてないけどvendorには入っている。

要はgitのアドレスに合わせて変更したってことなんです。


"kriswallsmith/assetic": "1.1.*@dev" もエラー吐いてたので、"kriswallsmith/assetic": "1.1.*"に変更したらオッケー風でしたよ。

2013年2月27日水曜日

pukiwiki-1.4.7_notb.tar.gzをphp5.4.12で動作させる

index.phpのerror_repotingをコメントアウトして入れ替える

lib/func.php
hex2binの修正、コメントアウトでもいいんでないか?
if(! function_exists('hex2bin')){
function hex2bin($hex_string)
{
// preg_match : Avoid warning : pack(): Type H: illegal hex digit ...
// (string) : Always treat as string (not int etc). See BugTrack2/31
return preg_match('/^[0-9a-f]+$/i', $hex_string) ? pack('H*', (string)$hex_string) : $hex_string;
}}


あとは参照渡しにしているところが色々エラーはいてるので治す。
全部見るのがめんどいのでとりあえずまるっと置換したけど、今のところ大丈夫っぽい。
重要なwikiではないのでこれでよしとするw
何かあったらまた対応する。

以下メモ、適当にやったのでよく覚えてない。
こんなのに時間かけていられない。

Deprecated: Assigning the return value of new by reference is deprecated in
532行目辺り
$config = &new Config('AutoLink');
の&を取る

Only variable references should be returned by reference
Only variables should be passed by reference
lib/convert_html.php
$body = & new Body(++$contents_id);
&をとる
$obj = new Paragraph('', $class);
&をとる

& $obj
& new
とにかく&を取る

Call-time pass-by-reference has been removed
plugin/ls2.inc.php 69行目
&をとる


lib/init.phpのなんだっけか

2012年12月13日木曜日

Zend Frameworkでつくるソーシャルゲーム 第4回 Zend_Application_Resource_Db

毎度どうも佐藤です。

Zend Frameworkでつくるソーシャルゲーム第4回まできました。

ブログで書いたシリーズ物では最長ではないでしょうか(爆)

今回はZend FrameworkからDBを利用できるようにします。
ここみたら終わりますが→利用できるリソース-Zend Manual
それはそれという事にして始めましょうか。

まずは設定ファイルをiniからymlに変更します。

(個人的にiniよりymlが好きなので)

NetBeansから編集していきますよ!

iniをいじる前にindex.phpを変更します。(別にどっちからでもいいんですが)

23行目あたりのZend_Applicationをインスタンス化しているところにiniファイルを指定しているところがあるのでそこをymlに変えます。
//public/index.php
$application = new Zend_Application(
    APPLICATION_ENV,
    APPLICATION_PATH . '/configs/application.yml'
);


index.phpはこれで終わりです。CTRL+Sで保存しておきましょう。

次は「application/configs/application.ini」を編集します。

まずはapplication.iniを右クリックして拡張子をymlに変更します。

それから当然中身も書き換えなければならないのでyml風に書き換えます。
CTRL+Hとかうまく使ってささっと書き換えてください。
これを
;application/configs/application.ini
[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
appnamespace = "Application"
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.params.displayExceptions = 0

[staging : production]

[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1

[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.frontController.params.displayExceptions = 1



こんな感じにします。
#application/configs/application.yml
production:
  phpSettings:
    display_startup_errors: false
    display_errors: false
  includePaths:
    library: APPLICATION_PATH/../library
  bootstrap:
    path: APPLICATION_PATH/Bootstrap.php
    class: "Bootstrap"
  appnamespace: "Application"
  resources:
    frontController:
      controllerDirectory: APPLICATION_PATH/controllers
      params:
        displayExceptions: false

staging:
  _extends: production

testing:
  _extends: production
  phpSettings:
    display_startup_errors: true
    display_errors: true

development:
  _extends: production
  phpSettings:
    display_startup_errors: true
    display_errors: true
  resources:
    frontController:
      params:
        displayExceptions: true



参考
Zend_Config_Yaml

書き換えが正常にできたか確認

これでまずは実行してみてください

余分なスペースとかインデントにタブ使ったりするとエラーがでたりします。
:の前にスペースはいってたらダメで5分ハマリました。
前回と同じくWelcome to the Zend Framework!が見えてればミスはないと思われます。
もしエラーがでてたらZendServerのMonitor→LogsとかからPHPエラーログあたりを見て原因をさぐり修正してください。
多分今のところスペルミスとか、無駄なスペースが・・・とかインデントが・・・とかよくあるケアレスミスだと思います。

DBの設定をymlに記入

表示できたらresourceのところにdbの設定を追記します。
※今動作しているlocalのサーバはこのブログの通りならdevelopmentですが、developmentはproductionの設定を継承しているのでどちらの箇所でも大丈夫です。

resources:
    db:
      adapter: Pdo_Mysql
      params:
        dbname: dragonfantasy
        username: dragon
        password: fantasy
        host: localhost


とかいう具合に。
追記したらまた実行して書き方にミスが無いか確認します。

コントローラからDBを呼び出す

正常なら「application/controllers/IndexController.php」を編集します。
indexAction()でDBからデータを取り出してみます。
public function indexAction()
    {
        $db = $this->getInvokeArg('bootstrap')->getPluginResource('db')->getDbAdapter();
        $db->query('set names utf8');
        $res = $db->fetchRow('select id,name from dfaccount where id=1');
        Zend_Debug::dump($res);
    }


どうでしょうか?DBから正常にデータを取り出せましたか!?
できなかった方は画面やlogファイルに書かれたエラーメッセージを元にがんばってみてください!
最後眠くなって来てたので何か書き間違えたかもしれないけれど・・・(ぇ
何か突っ込みどころがあれば気軽にコメントください。

2012年3月29日木曜日

symfony始めました-schema.ymlの作成

どんなDBを使うかモヤモヤと考える。
じゃあMySQLでテーブルはこんな感じかなっとノートにでも書きながら想像する。(省略可)
shema.ymlを書く。
書き方はこの辺を参考に。
Practical symfony 3日目: データモデル
The symfony and Doctrine book
INTの種類の指定の仕方
下記のようなコマンドを打って、うはーすげーな便利だなーと感動する。
php symfony doctrine:build --model
php symfony doctrine:build --sql
php symfony doctrine:insert-sql


タイムゾーンがどうとかいわれたらphp.iniにタイムゾーン設定してあるか確認する。
(してなかったので設定した date.timezone = Asia/Tokyo)

そして3番目(テーブルを実際に作成するコマンド)でハマる。
Couldn't locate driver named mysql
とか言われる。

こちらで言われている通り、確認してみる。
そういえばこれsymfony導入時にもやったじゃんと思いつつ。
・・・モジュール版(?)とCLI版で結果違う・・・?
下記コマンドでphpinfoが見れますよ。
php -i
/usr/bin/php -i
/usr/local/bin/php -i

結論から言えばCLI版のphp.iniにextension=pdo_mysql.soを書き足せばよかったってっ事。
Scan this dir for additional .ini files = (none)
って感じでCLI版はnoneになっちゃってるのが混乱の元だったんだ。

もともと以前確認した時モジュール版はOKだったはず
今思えばこの時も本当はさほど問題なかったんじゃないかと思う。

pecl install pdo-mysql とかpecl install pdo とかやっちゃったけど
これがまたまずかったらしい。
これのせいでモジュール版のPDOからもmysqlが消える。
今は標準でPHPにバンドルされていて、設定を書き換えれば済むところ、古いもので上書きした感じになったようだ?

色々嵌りに嵌ってぐるぐるぐると回りまわって
最終的にこちらで納得して解決。

2012年1月31日火曜日

symfonyはじめました-symfonyのインストール

Getting Started with symfony
symfonyのインストール


プロジェクト用のディレクトリを作る。 $ mkdir -p /home/sfproject
$ cd /home/sfproject
symfonyのライブラリのファイルをぶっこむディレクトリを作る $ mkdir -p lib/vendor ここからダウンロードしてきて展開する。 $ cd lib/vendor
$ tar zxpf symfony-1.4.16.tgz
$ mv symfony-1.4.16 symfony
$ rm symfony-1.4.16.tgz
symfonyのバージョンを表示するコマンドを使うことでsymfonyが正しくインストールされていることを確認 $ cd ../..
$ php lib/vendor/symfony/data/bin/symfony -V
終わり。簡単ですね。

おまけ $ php lib/vendor/symfony/data/bin/symfony で色々見れる。

ServerQueenのVPSにPHP5.3.9をソースからインストール

CentOS5.7でPHPのバージョンが5.2.17でしたとさ。
rpmでインストールされてました。
これを5.3にしたかった。
とりあえずまずはソースをダウンロード
http://www.php.net/downloads.php
最新安定版の5.3.9をダウンロードしました。

apacheを停止(しなくてもよかったのかもしれないが)

sudo service httpd stop ソースを解凍してインストールを試みる configureのオプションはすでにインストールされていたPHPのphpinfoを見てそれっぽいところをいじった。 tar jxf php-5.3.9.tar.bz2
cd php-5.3.9
./configure --host=i686-redhat-linux-gnu --build=i686-redhat-linux-gnu --target=i386-redhat-linux --program-prefix= --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/usr/com --mandir=/usr/share/man --infodir=/usr/share/info --cache-file=../config.cache --with-libdir=lib --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --disable-debug --with-pic --disable-rpath --with-bz2 --with-curl --with-exec-dir=/usr/bin --with-freetype-dir=/usr --with-png-dir=/usr --enable-gd-native-ttf --with-gettext --with-gmp --with-iconv --with-jpeg-dir=/usr --with-openssl --with-zlib --with-layout=GNU --enable-exif --enable-ftp --disable-magic-quotes --enable-sockets --enable-sysvsem --enable-sysvshm --enable-sysvmsg --enable-wddx --with-kerberos --enable-ucd-snmp-hack --enable-shmop --enable-calendar --with-libxml-dir=/usr --enable-xml --with-apxs2=/usr/sbin/apxs --with-mysql --with-gd --enable-xmlreader --enable-xmlwriter --enable-json --enable-mbstring --enable-mbregex --with-xsl=/usr/lib
make
make install
で、確認 php -v
PHP 5.3.9 (cli) (built: Jan 31 2012 02:21:02)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
というわけで、CLI版は問題なさそうだったんだけど、モジュール版(?)のphpinfoを見てみたらバージョン変わってなくて、しばしハマることになる。
グーグル先生の話ではlibphp5.soがバグで生成されないとのことだそうで
下記のサイトなどを参考にlibphp5.soを生成してからインストールという手順でいくことにした。
PHP5インストールでのlibphp5.soバグ対応
すると今度は
error: Could not find pcre.h in /usr
とかなんとか言い出した。
こちらを参考にしたが、すでにPCRE自体はインストールされていた。
rpm -qs pcre
インストール先を確認して、パスを指定する。
しかし上手くいかないのでいっそ何も指定せずにインストールしたらうまくいった・・・。
参考
で、libphp5.soが生成できて、もう一度コンフィグ作りなおして、インストールして終わりだったと思う。 すでにうろ覚えなのでこの記事の正確性は保証できません!
はい、おつ。

2011年11月8日火曜日

pukiwiki設置 & google Analytics webmaster tool adsense を配置

忍者ディフェンダーズの攻略サイトがまだないようだったので作ってみた。
忍者ディフェンダーズWIKI
最初はFC2でWIKIつくってみたのだが、どうも既存のWIKIサービスはアドセンスとか貼れないようだったので自鯖にpukiwikiを設置してみた。

DNSの反映に二日ほどかかった。
名前ベースのバーチャルホストなのでドメインで接続する必要があったので
DNSが反映されるまではhostsファイルにアドレス書いて編集してました。
WindowsXPではC:\WINDOWS\system32\drivers\etcにあったお。

DNSが解決されないとanalyticsとかウェブマスターツールは使えないだろうからとりあえずアドセンスを貼り付けました。
プラグインとして作成してた方がいたので、最初ちょっと真似してみたんですが、「いやコード書き換えられたらダメだからこれじゃダメじゃね?」って思って別に設定ファイル作って呼び出し時に選ぶような形にしてどの広告貼り付けるか選べるようにしました。(今3つ貼ってるます)
まぁ今思えばスクリプトコード直貼りで全く問題なかった気がしますね。(ぉw
それから上記の方のプラグインだとスクリプトに引数埋め込んじゃってるので非常に危険なんじゃないですかね。サニタイズしないと?


DNSが無事解決されるようになったら、Analyticsをまずは設置しましたよ。
コードをskin/pukiwiki.skin.phpの中に貼り付けておしまい。

ウェブマスターツールはアナリティクスのコード貼ってあると簡単に確認できるのでそれでおしまい。あぁおしまい。簡単なにも言うことなし。

この記事は何を言いたかったんでしょう?
まぁいいか。

2010年2月3日水曜日

EC-CUBE iPhone用ページ作成中

EC-CUBEでiPhone用のページも作って^-^
との突然の伝令により鋭意作成中なんですけど
iPhoneもec-cubeもよくわからねーんですけどw
すげーいまさらなんですけど
マジでEC-CUBEの構造わかってませんでした。@w@;
iPhone用のページを追加するにはどうすればいいのかと
ちょーソース読みまくったんですけど(あくまで自分的に)
すごい無駄足踏んだ気分たっぷりです。はい。orz
(関係ないですけど、今日はお弁当のとんかつソースはこぼれまくりでした。)
結局ページの追加自体は管理画面のページ詳細設定から追加してやればよかったんですね。
ガラガラドガシャン(何かが心の中で崩れていく音)
で、トップページにアクセスしたときに
html/require.phpの中で携帯(/mobile/)へ飛ばしてるようなので
真似してその前で
// iPhoneの場合は iphone.phpへリダイレクトする。
$agent = $_SERVER['HTTP_USER_AGENT'];
if(ereg("iPhone|iPod", $agent)){
    header("Location:".SITE_URL."user_data/iphone.php");
}
とかいう感じでiphone用のページへ飛ばしてヤッチマイナー!
ってことにしました。
携帯に飛ばしてるのをみるとなんだか色々やってますけど
とりあえず今のところこんな感じでよしとしておきます。
もう頭パンクしそ・・・プスゥ!・・・パンクしました。
あ、これだけだと無限ループしちゃうので
iphone.phpから読み込むrequire.phpは
iphone.phpへリダイレクトしないように同じフォルダに元のやつをコピっておいて
iphone.phpのrequire_onceを
require_once("./require.php");ってな感じにして
そうするとuser_data/require.phpの中のrequire_onceさんが文句たれるので
require_once("../define.php");
require_once( "../". HTML2DATA_DIR . "require_base.php");
ってな感じで適当に、とりあえず動けばいいんだよ!っていう事にしておきました。

で、お次はiphone.tplさんの編集ですね。
こちらはこれからなので・・・・
つづく

2009年12月25日金曜日

EC-CUBEインストール それでははじめから。

WindowsVistaの場合
Xampp1.7.1をインストール(最新版ではエラーがでる模様)
PostgreSQL8.4をインストール(MySQLを使うなら不要)
DBの作成EC-CUBEのインストール
こんな感じですか。

2009年12月11日金曜日

phpMyAdminインストール PHP MySQL 文字化け

ええ、CSVファイルからMySQLにデータいれるときに日本語がばけちゃって
すごく嵌りましたね。
答えは
ALTER TABLE `quals` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci
ALTER TABLE `quals` CHANGE `level` `level` TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci

でしたか。
文字セット
照合順序がすうぇーでん?とかなってたしw
ですね。ええ、とてもはまりました。
前にも似たような事があったようなw
フィールドごとになおさなきゃならんかったんでphpMyAdminでそのままなおしてしまいました。

-----------------
yum install phpMyAdmin

vi /etc/httpd/conf.d/phpMyAdmin.conf

<Directory /usr/share/phpMyAdmin/>
order deny,allow
deny from all
allow from 127.0.0.1
allow from ここに追記?
</Directory>

http://serveraddress/phpmyadmin
SQLサーバーのユーザーでログイン

2009年12月4日金曜日

CakePHP-ページ付け(Pagination)

これはチョー便利ですね。

CakePHPによる作業の定石
ページ付け(Pagination)

コントローラーで$paginateを定義して
functionをちょろっとかいて
function list_recipes() {
    $data = $this->paginate('Recipe');
    $this->set('data', $data);
}
 viewで表示はほとんど一緒だし!
 感動した!

2009年11月27日金曜日

mod_rewriteとは?

Apacheのモジュールでmod_rewriteってのがありますね。
PHPのフレームワークをいじろうとする時とかでてきますね。
よくでてくるこいつ、実はなんだかよくわかってませんでした。

で、ぐーぐる先生に聞いたら
「URLを正規表現で置換しちゃうんだおw」
っていってました。

参考リンク
http://tech.bayashi.net/svr/doc/apache/mod_rewrite.html

2009年11月20日金曜日

EC-CUBEインストール 失敗

Linuxに入れようとして
ファイル配置してインストールスクリプトにアクセスしようとしたら
何にも表示されなくて真っ白で
/var/log/httpd/error_logを見ると
PHP Warning:  require_once(/var/www/html/../data/require_base.php) [<a href='function.require-once'>function.require-once</a>]: failed to open stream: Permission denied in /var/www/html/require.php on line 26
などどありました。
lsでファイルの権限を確認しました。
ところが問題はありませんでした。
グーぐる先生に聞いたらSELinuxのせいだって教えてくれました。
setenforce 0
としてからやってみたら表示されました。
でもSELinuxは切らないでやるつもりなのでお勉強します。

restorecon -R /var/www
とか
chcon -t httpd_sys_content_t /var/www/data -R
とかでちょっと進んだんですが

またエラーでて
PHP Fatal error:  Call to undefined function mb_ereg() in /var/www/data/class/util/SC_Utils.php on line 1455, referer: http://192.168.63.204/install/index.php
はい、で、どうやらmbstringっていうモジュールが入ってないってことみたいなので
yum install php-mbstring

posgreSQLのユーザ作成とDB作成
su - postgres
createuser --createdb --no-adduser --pwprompt eccube_db_user
※password入力
createdb eccube_db

[nativecode=Unable to connect to PostgreSQL server: could not connect to server: 許可がありません Is the server running on host "127.0.0.1" and accepting TCP/IP connections on port 5432?]

 iptables -L --line-numberで番号つきで見れる

iptables -I INPUT 14 -j ACCEPT -s 127.0.0.1 -p tcp --dport 5432

なんか結局どれが必要なのかわからなくなったw
また後日やりなおしてみますよ・・・。

2009年11月19日木曜日

CakePHP入門

命名規約ですよ。
http://book.cakephp.org/ja/view/26/View-Conventions
  • データベースのテーブル: "people"
  • モデルクラス: "Person"、 場所は /app/models/person.php
  • コントローラクラス: "PeopleController"、 場所は /app/controllers/people_controller.php
  • ビューのテンプレート、場所は /app/views/people/index.ctp

2009年10月29日木曜日

動画配信サイト構築?3gp,wmv,aviなどをflvに変換して公開する。

動画配信サイト構築とかちょっとふられたので
ちょっと調べてやってみたらできそうだったのでめもっておく。

最近流行りの?動画配信ですが
FLASHでムービー流してますね。
FLVとは?
「Flash Video Encoder」
Flash Player上で再生されることを前提として開発された動画フォーマットです。
 要はこのFLVという動画ファイルを
WEB上に置いてブラウザで見れるようにする。
という事なので、まずはFLVファイルを作らねばなりません。

これはFFmpegというツールでできるようです。
ソースで配布されているようですが、
その辺にコンパイル済みのバイナリも転がっているようですので
それをとってきました。

参考リンク
最新FFmpegの入手方法
お気に入りの動画を携帯で見よう
FFmpegで動画変換
FFmpegの使い方

コマンドプロンプトでちょちょっとコマンド打ってしばらく待てばできあがりです。
ffmpeg -i sagamihara.3gp -ar 44100 -vcodec flv sagamihara.flv
とかそんな感じでいけた気がします。(参考リンクを見てください。)

で、できあがったら次はJW FLV Media Playerという物がありましたので
こちらを利用させていただきました。
スクリプトはJW FLV Media Playerのサイトで生成用のページがありますんで
これを利用します。
パスを適切に変更してHTMLに張り付けて
必要なファイルをUPすればオッケーですね。

参考リンク
FLVをWEB上で再生する

とりあえずブラウザ上で再生できたので満足しました。
あとは動画をアップロードして自動的に変換して公開するみたいなのを作れば
わりと簡単にできそうなのでとりあえず覚えとこう。って感じで終了。

2009年10月15日木曜日

Google Wireless Transcoder

googleドキュメントのスプレッドシートのフォームがどこもだと文字化けするらしく
それを回避させるPHPをつくろうとしてたら(XSSっぽいなぁとか思いつつ)

「ってかすでにあんじゃね?w」って思った(気づくの遅かった・・)

んで、やっぱあった
Google Wireless Transcoder
http://www.google.co.jp/gwt/n

2009年5月27日水曜日

Ethnaをいじってます。

Cやったり、PHPやったりアレなんですが
最近はEthnaというPHPフレームワークをいじっております。

やっぱり自分のメモは必要なのでここにめもります。はい。

PEAR::DB
http://www.phpbook.jp/pear/pear_db/ より

DB.phpを読み込む

$dsn = 'mysqli://testuser:pass@localhost/testdb';
$db = DB::connect($dsn);
if (PEAR::isError($db)) {
die($db->getMessage());
}
$db->disconnect();

2009年4月7日火曜日

シェルスクリプト











変数 意味
$$ シェル自身のPID(プロセスID)
$! シェルが最後に実行したバックグラウンドプロセスのPID
$? 最後に実行したコマンドの終了コード(戻り値)
$- setコマンドを使って設定したフラグの一覧
$* 全引数リスト。"$*"のように「"」で囲んだ場合、"$1 $2 … $n" と全引数を一つにくっついた形で展開される。
$@ 全引数リスト。"$@"のように「"」で囲んだ場合、"$1" "$2" … "$n" とそれぞれの引数を個別にダブルクォートで囲んで展開される。
$# シェルに与えられた引数の個数
$0 シェル自身のファイル名
$1~$n シェルに与えられた引数の値。$1は第1引数、$2は第2引数…となる。





PHP


説明
string substr ( string $string , int $start [, int $length ] )

文字列 string の、start で指定された位置から length バイト分の文字列を返します。

2009年3月19日木曜日

正規表現

\$([A-Z]+)([1-9])

\$_POST\['$1$2'\]




Fedoraでyumでインストールした
bindとcaching-nameserverが一緒だった?