Tag Archives: plack

Perl Hash...

用 Net::OpenID::Consumer 寫 Google 的 OpenID 登入時一直讀不到,trace 後找到問題出在 args: my $csr = Net::OpenID::Consumer->new( ua => LWPx::ParanoidAgent->new, args => sub { $self->request->query_parameters->{shift} }, consumer_secret => 'some random string', required_root => 'http://example.com/' ); 在 vim 裡面突然看到 shift 顏色不太對,才突然想到,是不是 Perl 把「shift」當作是一個字串? 果然改成 shift() … Continue reading

Posted in Computer, Murmuring, Network, Programming, Software, WWW | Tagged , , , | 1 Comment

用 Plack 提供的 CGI 跑 Adminer...

在「用 Plack 跑 CGI」提到用 Plack 跑 CGI,目的是把 PHP 寫的 Adminer (一個取代 phpMyAdmin 的工具) 跑起來。 文章裡提到 PHP 沒辦法以 CGI mode 執行,主要有兩個原因。一個是 PHP 本身有安全機制,php-cgi 必須在有 REDIRECT_STATUS 這個環境變數下才能執行,另外一個是 php-cgi 需要用到 SCRIPT_FILENAME 這個非 CGI/1.1 標準 (RFC 3875 - The Common Gateway Interface (CGI) Version … Continue reading

Posted in Computer, Database, Murmuring, MySQL, Network, Programming, Software, WWW | Tagged , , , , , | Leave a comment

用 Plack 跑 CGI

如標題,有時候總是有些奇怪的需求,想要用 CGI mode 跑一些東西,然後希望很簡單,最好不要動到系統設定,可以在不需要後完全不吃系統資源... Plack 剛好提供了 Plack::App::CGIBin,可以接受 HTTP request 並丟給下面的程式... 跑起來的方式超簡單: env -i /usr/local/bin/plackup -MPlack::App::CGIBin -e 'Plack::App::CGIBin->new(root => "/path")->to_app' 這樣會把 /path 下的東西當作 CGI script 跑... 不過 PHP 跑 CGI mode 超麻煩,並不是直接加上 #!/usr/bin/php-cgi 就能夠解決的,還沒找到要怎麼處理... (天曉得哪個環境變數又出問題了)

Posted in Computer, Murmuring, Network, Programming, Software, WWW | Tagged , , , | 1 Comment