いてつくブログ

2ちゃんねるのスレッドをコピペしてまとめてみるブログ

Webプログラミング

ネット関係【PHP】フレームワーク CakePHP 12ホール目【笑】

1 :nobodyさん:2011/07/01(金) 16:33:46.28 ID:???
CakePHPは、Ruby on Railsの概念の多くを取り入れた、Rails流の高速開発とPHPの機動性を兼ね備えたフレームワークです
CakePHPから派生したLithium(li3)も専スレできるまではここでどうぞ
質問するときはCakePHPのバージョンを書きましょう

※sage推奨
※質問時もsageること
※他フレームワークとの比較等はスレ違いです
テンプレは>>1-5くらい

■本家
http://www.cakephp.org/
APIドキュメント
http://api.cakephp.org/
the Bakery
http://bakery.cakephp.org/
CakeQs
http://cakeqs.org/
CheatSheet (PDF)
http://cakephp.org/files/Resources/CakePHP-1.2-Cheatsheet.pdf
github - cakephp
http://github.com/cakephp

■日本語公式
http://cakephp.jp/
フォーラム
http://cakephp.jp/modules/newbb/
cookbook(マニュアル)
http://book.cakephp.org/ja

前スレ
【PHP】フレームワーク CakePHP 11ホール目【v1.3】
http://hibari.2ch.net/test/read.cgi/php/1297860755/

5 :nobodyさん:2011/07/01(金) 19:38:21.72 ID:???
携帯サイトとPCサイトをCakeで作るとき、
- routes.php
Router::connect('/m/', array('controller' => 'home', 'action' => 'index', 'prefix' => 'mobile'));
Router::connect('/m', array('controller' => 'home', 'action' => 'index', 'prefix' => 'mobile'));
Router::connect('/m/:controller/:action/*', array('prefix' => 'mobile'));

- app_controller.php
function afterFilter() {
  if (!preg_match("/^m(\/)?/", $this->params['url']['url'])) {
   $this->redirect('/m/' . $this->params['url']['url']);
  }
  if ($this->isMobile) {
    $this->output = mb_convert_kana($this->output, 'k');
    $this->output = mb_convert_encoding($this->output, 'SJIS', 'UTF-8');
  }
}
こんな感じで振り分けたりしてるんだけど、

function show() {
$this->set('abc', $this->Model->find('all'));
}

function mobile_show() {
$this->set('abc', $this->Model->find('all'));
}
上記のようにコントローラにPC用と携帯用で全く同じ処理なのに
別々のアクションを作らないといけない。
これはしょうがないのかな?
もっとナイスな実装方法があれば助言お願いします


6 :nobodyさん:2011/07/01(金) 23:15:29.99 ID:???
>>5
beforeFilter()かそれ以前で携帯か判定して
beforeRender()でviewを切り替えるComponentをつくる。
Controllerのactionは基本共通で場合によって処理も分けられる。

8 :nobodyさん:2011/07/02(土) 00:36:56.30 ID:???
>>6-7
サンクス
いや、多分コントローラのアクション同一のものを使えると思う

>beforeRender()でviewを切り替える
なるほど。
処理が全て終わったあとで、
$this->render('mobile_' . 現在のaction名);
みたいな感じかな。

>beforeFilter()かそれ以前で携帯か判定して
これがちょっとわからない
beforeRender()のview切り替え時に携帯かどうか判断したらだめなの?

74 :nobodyさん:2011/07/20(水) 16:58:32.13 ID:???
同時アクセスとかあまり関係ない。

銀行口座AからBへ振り込み処理を行うとする。
1.UPDATEでAの残高を減らす
2.UPDATEでBの残高を増やす
もし1の処理の後、エラーが起きて2が実行されなかったとする。
するとAの残高だけ減っているというデータの不整合が起きてしまう。
こうならないために、1と2をトランザクションで囲って、
エラーが起きた場合はロールバックして1の処理をキャンセルする。

75 :nobodyさん:2011/07/20(水) 17:12:21.69 ID:???
同じ編集画面多重で開かれて
内容が戻るのを防ぐのもトランザクションでやるの?

77 :nobodyさん:2011/07/20(水) 17:58:07.77 ID:???
>>74はトランザクション処理だろ。

>>75はトランザクションじゃないね。
DBでやるなら行ロックとか。

80 :nobodyさん:2011/07/20(水) 20:08:13.30 ID:???
じゃ、コード書いてみて

81 :nobodyさん:2011/07/20(水) 20:08:31.53 ID:???
>>77
行ロックってデッドロックの解決わからなくて実装してないなぁ
手動で解除できるようにしとくくらいなのか?

82 :nobodyさん:2011/07/20(水) 20:35:12.17 ID:???
>>81
pconnect使わなければプログラム終了したらDB接続も勝手に切れる。
嫌ならロックやトランザクション使うときだけ明示的にconnectする。

>>80
AppModelかBehaviourに
$db =& ConnectionManager::getDataSource($this->useDbConfig);
return $db->begin($this);
こんなメソッド書くかんじ?
同じDB接続なら二回目以降は無視するとかcommit/rollbackをまとめて行うとかの工夫はほしいけど。

84 :nobodyさん:2011/07/20(水) 22:48:34.13 ID:???
>>82
そのコード、もう標準で組み込んでくれよと思う

85 :nobodyさん:2011/07/21(木) 00:07:23.26 ID:???
>>84
通常はsaveAllで事足りるはず。
MySQLならinnoDB使ってれば自動でトランザクションしてくれる。

87 :nobodyさん:2011/07/21(木) 14:11:40.28 ID:???
>>85
通常の範囲せますぎやない?
クエリの間に判定や分岐をいれたいことって多々あるとおもう。
MySQLのストアドは弱いしね。

88 :nobodyさん:2011/07/21(木) 16:19:08.49 ID:???
>>87
どんな時に使うの?
cakeではやった事無いよ。

89 :nobodyさん:2011/07/21(木) 16:40:06.60 ID:???
更新って1つのテーブルだけじゃないからな。
例えば、会員情報を更新しようとして、一緒に
プロフィールテーブルやポイントテーブルを更新する事は想定できるだろ。

143 :nobodyさん:2011/07/28(木) 01:45:02.72 ID:???
フリーランスでWEBアプリを開発しています。
PG歴8年で、PHP歴は1年程度です。
フレームワークを使わないPHP開発は一通り経験しているつもりです。

まだcakeを紹介したサイトをいくつか読んだレベルなのですが、
「なぜcakeを使うのか?」がいまいちピンときていません。

開発スピードなら、既成ライブラリや私製ライブラリで十分な成果が出る気がします。
MVCがしたいなら、別にcakeをつかわなくてもできるんじゃ?と思います。
複数PGでの協業にcakeが威力を発揮するとも思えないのです。

みなさんはなぜcakeにかぎらず、PHPフレームワークをつかっているのでしょうか?
みなさんのご経験された案件でcakeなりPHPフレームワークを使うことを決定した理由は
なんなのでしょうか?差し支えなければ教えてください。


145 :nobodyさん:2011/07/28(木) 09:25:36.36 ID:???
>>143
デザイナがいなくて画面を自分で作らなければいけない仕事をやってるんで、
scaffoldを吐き出してくれるのが一番助かってるかなあ。
あとはクエリパラメータを関数の引数にマップしてくれるので
どこでどのパラメータを使っているかわかりやすいとか。
フォームヘルパーみたいのも自作しなくてすむし。
ページングも楽だ。

まあ、単体で見るとたいしたことなくても、Railsがフルスタックフレームワーク
と言われていたように、オールインワンでそろってるのが楽なわけよ。

146 :nobodyさん:2011/07/28(木) 09:31:09.08 ID:???
>>143
俺は単に「ネット上の情報が一番多い」事が理由だな

cakeに限らない場合、命名規則や開発方法が決められていると、
開発時の迷いが少なくなるというメリットがある。俺にはこれがでかい。

148 :nobodyさん:2011/07/28(木) 10:55:09.01 ID:???
>>143
チーム開発してると合意というか統制がとりやすい。デザインパターンみたいなもん。
保守面でもFWのバグやセキュリティフィックスの作業が軽減できる。
Cake1.x自体は構造が古くてクソだけど。

172 :nobodyさん:2011/08/01(月) 14:58:08.84 ID:???
CakePHPで掲示板つくって運営してるけど、
さくらインターネットからプログラム見なおせゴルアとお叱りうけて、
同時接続数制限かかりました

200 :nobodyさん:2011/08/04(木) 01:12:45.98 ID:???
Containableで絞り込めばいいんじゃないの

225 :nobodyさん:2011/08/14(日) 08:17:24.45 ID:???
*聞かれた方の効率は含みません

230 :225:2011/08/14(日) 13:50:36.60 ID:???
マニュアルに書いてあることなのに読まず、人に質問して教えてもらったほうが効率がいいってこと・・・?
よくわからんな・・・

324 :nobodyさん:2011/09/05(月) 21:59:00.60 ID:???
とある事情でサーバーを変えてサイトを見ていたら
SQL Error: 1064: You have an error in your SQL syntax; check the manual that corresponds to
とかエラーが出ていた
データベースとの接続はできているしなんだろうと思っていたんだが
関数がうまく呼び出せてないっぽい
get_classでModelを表示させようとしたら表示がAppModelとかなってたんだけど
同じような現象になった方いませんか?
開発環境では何の問題もなく動くしget_classでModel名がちゃんと表示されるしわからん

326 :nobodyさん:2011/09/05(月) 23:42:44.48 ID:???
>>324
すごい適当だけど、PHPのバージョンが4系統とか

327 :nobodyさん:2011/09/06(火) 00:10:43.75 ID:???
>>324
俺も見当付かないんだけど、データベースサーバー側のエラーと思えるから、データベース名 + 1064で検索するとか、エラーナンバーから詳細を引ける方法を調べてみると何か分かるんでないかな?
(まさかとは思うが、1064ってのは1064文字目って意味じゃぁないだろうなぁ)

331 :nobodyさん:2011/09/06(火) 21:30:36.15 ID:???
>>326
サーバーはロリポップでPHPのバージョンは5.3.5で開発環境と一緒なんだ
しかしそうか
PHPの設定の違いを疑ってみるべきだったな
ありがとう!
>>327
違うページではAn Internal Error Has Occurredってエラーが出るから
データベースサーバー側かもしくは設定ミスってるのかなぁ
設定ファイルは最初に完璧であることを確認できたし考えにくいんだよな…
いろいろ調べてもわからなくて…
なぜオブジェクトがAppModelに…って考えてしまう…


332 :nobodyさん:2011/09/07(水) 00:16:46.95 ID:???
>>331

訳わからん挙動に悩んだ際のうっかり系チェックリストを当てずっぽうで書いてみる。
どっかで文字コードが違うファイルが混入してるとかは?
あるいはBOMが入り込んでたりとか。
ver.1.xならば、ファイル名に大文字小文字が入り交じっていないか。

そのエラーが出るページと出ないページがあるのなら、
両者でどこが違うのかを切り分けてみてはどうだろう。


361 :nobodyさん:2011/09/14(水) 05:25:27.50 ID:MD6DgTpS
/images/view/12345?height=135
このようにアクセスして、imagesコントローラのviewアクションで
サムネイルを生成して画像を表示させているんだけど、
なぜかCakePHPを介してこのようにアクセスすると、ファイルサイズが小さくならない。

viewアクションの動きは、上記を例にすると、
12345.jpgを縦135pxのサイズでimgejpg()を使って表示させる(横幅は比率維持)というものです。

/images/view/12345?height=1
このようにアクセスすると、縦幅1ピクセルの小さい画像が生成されるんですが、
ファイルサイズは17KBとかになってしまいます。

アクションの中身をそっくりそのままphpファイルにして、CakePHPとは無関係の場所でアクセスすると、
ファイルサイズも縮小分小さく(700Bぐらい)なっている。

誰か原因教えてくださいorz


365 :nobodyさん:2011/09/14(水) 12:58:26.16 ID:???
Controller側
function index(){
$hoge = 0;
$this->set('hoge',$hoge);
}
function ajax(){
$this->autoRender = false;
$this->uses = null;
Configure::write('debug',0);
$hoge = $hoge + 1;
$this->set('hoge',$hoge);
}

view側
<div id="div">
echo "$hoge";
</div>
<?php echo $ajax->link('ajax',ajax,array('update'=>'div')); ?>


ってやるとajaxで「$hoge空っぽなんだけど^^;」って言われるんですけど
ビュー側からコントローラー側へ変数を渡すにはどのようにすればよろしいのでせうか?

368 :nobodyさん:2011/09/14(水) 13:57:54.28 ID:???
>>365
何も値を渡して無いじゃないw
普通のリンクと同じ。$ajax->link(’title','ajax/1'.......)みたいにすればいい。
http://book.cakephp.org/view/1362/Methods

でもAjaxヘルパーはdeprecatedだからそろそろJsヘルパー使おうよ。

387 :nobodyさん:2011/09/17(土) 01:22:15.55 ID:???
設計の相談があります。

■usersテーブル(会員データを保存)
id、name、created
■photosテーブル(会員が投稿した写真を保存)
id、user_id、name

こういうテーブル構成になっているとします。
users→photosはbeLongsToの関係です。

Authでログインした後、$this->Auth->user();を参照しても
結合しているphotosのデータが取得されません。
どうしたらいいのでしょうか?

484 :nobodyさん:2011/09/26(月) 09:52:25.70 ID:???
モデルビューコントローラーの
ビューとコントローラーは表示と処理的な物ってわかるけど
モデルがよくわかんない

MySQLのテーブル名が規則に反してる時にしか使ってない

504 :nobodyさん:2011/09/27(火) 11:29:16.20 ID:???
$table = $this->Shin->query("$sql");
と、SQLからデータを持ってきて($sqlにはStringでSQL文が入力されています)
for($i = 0;$i < count($table);$i++){
$arr = $table[$i];
echo "<tr>";
echo "<td nowrap>{$arr['shin']['NO']}</td>";
echo "</tr>";
}
という感じでテーブルを出力してるのですが、
データの項目が多くなってくると表示する量が多くなるので
5件ずつ出力したいと思っています。

ページネーションを使って$tableの中身を5件ずつ出力するには
どうすればいいのでしょうか、ご教授お願いします。

505 :nobodyさん:2011/09/27(火) 17:56:03.91 ID:???
まずはここ
http://book.cakephp.org/ja/view/1231/%E3%83%9A%E3%83%BC%E3%82%B8%E4%BB%98%E3%81%91-Pagination

510 :nobodyさん:2011/09/28(水) 11:20:31.89 ID:???
>>505
読みつつ無い頭でウンウン考えて
$table = $this->Shin->query("$sql");
$table = $this->paginate();

for($i = 0;$i < count($table);$i++){
$arr = $table[$i];
echo "<tr>";
echo "<td nowrap>{$arr['Shin']['NO']}</td>";
echo "</tr>";
}
とすれば表示件数がページネーションで指定した件数になりましたが、
$sqlのSQL文が反映されていないようです。
>>504の方法ではテーブル名が「shin」でよかった(MySQLのテーブル名)のに対し、
この方法で実行すると「Shin」(modelで設定した名前)になってしまいます。

511 :nobodyさん:2011/09/28(水) 12:06:10.11 ID:???
>>510
$this->Shin->query("$sql") の後に$this->paginate(); やっても意味無いっしょ。
2回クエリを発行してる。

基本的な$this->Model->find()の使い方とかわかってますか?
paginate()はfind()に毛が生えたようなものなので、find()と同じように条件を与えればいい。

どうしても$this->Model->query()を使うなら、
データを持ってくる範囲のLIMITの計算とかORDERとか、最後まで面倒みるつもりで。



526 :nobodyさん:2011/09/28(水) 18:19:57.43 ID:???
ちょっとだけ補足するとGETかPOSTで数値を投げて結果を受け取るだけです。
勉強し直せと言いたくなるのは分かるがw


http://hibari.2ch.net/test/read.cgi/php/1309505626/l50人気ブログランキングへ

ネット関係【RoR】Ruby on Rails Part12

1 :nobodyさん:2011/07/19(火) 13:44:46.30 ID:zxrusyvr
■前
【Ruby】Ruby on Rails Part11
http://hibari.2ch.net/test/read.cgi/php/1292032736/

■参考サイト
<英語>
本家:http://rubyonrails.org
API document:http://api.rubyonrails.com/
開発者のblog:http://weblog.rubyonrails.org/
参考wiki:http://wiki.rubyonrails.org/rails
http://ruby-toolbox.com/
http://rubygems.org/
http://agilewebdevelopment.com/plugins/top_rated

<日本語>
Rails' wiki: http://wiki.fdiary.net/rails/

http://twitter.com/dhh
http://www.loudthinking.com/

13 :nobodyさん:2011/07/21(木) 13:41:48.70 ID:bT1+m3ud
はじめまして
Rails2.3.8

view/hoge/index.html.erbにて
DB:hogesのhoge.fooとhoge.barをプルダウンの要素にして、
絞り込むUIを作ろうとしています。

[hoge.foo▼] [hoge.bar▼] 《検索》
<tabale> ?? </table>

画面を開いたときは、table部は全レコ表示
プルダウンでfooとbarを選択→検索押下で、
foo=value1、bar=value2で絞り込んだレコードだけ表示
プルダウン未選択の場合はすべて表示

解説ページか、サンプルコードを紹介願います
当方、非コーダのシステム部員でレベル低いです

38 :nobodyさん:2011/07/22(金) 18:33:21.70 ID:Uhqw0ffO
拾ってきたrailsのサンプルファイルをtestフォルダに展開して
$ cd test
$ rails s
としたときに下記のエラーが出てきてサーバーが立ち上がりません。
どうすればいいでしょうか?

Usage:
rails new APP_PATH [options]
Options:
-r, [--ruby=PATH] # Path to the Ruby binary of your choice
# Default: /Users/mikeneko/.rvm/rubies/ruby-1.9.2-head/bin/ruby
-d, [--database=DATABASE] # Preconfigure for selected database (options: mysql/oracle/postgresql/sqlite3/frontbase/ibm_db)
# Default: sqlite3
-b, [--builder=BUILDER] # Path to an application builder (can be a filesystem path or URL)
-m, [--template=TEMPLATE] # Path to an application template (can be a filesystem path or URL)
[--dev] # Setup the application with Gemfile pointing to your Rails checkout
[--edge] # Setup the application with Gemfile pointing to Rails repository
[--skip-gemfile] # Don't create a Gemfile
-O, [--skip-active-record] # Skip Active Record files
-T, [--skip-test-unit] # Skip Test::Unit files
-J, [--skip-prototype] # Skip Prototype files
-G, [--skip-git] # Skip Git ignores and keeps
中略
Description:
The 'rails new' command creates a new Rails application with a default
directory structure and configuration at the path you specify.
Example:
rails new ~/Code/Ruby/weblog
This generates a skeletal Rails installation in ~/Code/Ruby/weblog.
See the README in the newly created application to get going.

41 :nobodyさん:2011/07/22(金) 20:10:24.08 ID:QEp81h1s
>>38

サンプルがRails3用でないために本来の動作をしているように見える。

script/rails があれば、railsコマンドはそいつを実行する。
そうでなければ本来のアプリひな形作成コマンドとしての動作をする。


66 :nobodyさん:2011/07/23(土) 03:35:43.27 ID:???
MySQLのパスワードが違っている。
OSのアカウント管理とは独立してMySQLのアカウント管理があるので、
rootのpasswordはシステムのそれじゃなくてMySQL用に別途設定するのだけど、設定してある?

設定してないなら、
# mysqladmin -u root password (新しいパスワード)

設定しているなら、
$ mysql -u root -p -S /tmp/mysql.sock db_development
(パスワード入力)
してアクセスできるか試してみれ。



100 :13:2011/07/25(月) 12:01:23.68 ID:IAHMsfps
collection_Selectを4つ作り、controllerに渡して各パラメータを
@collection=で
[" hinmoku = ? and kaikyu = ? and kikaku1 = ? and kikaku2 = ? ", '玉ねぎ', 'L', '3', '個ネット']
というふうに整形しました。
これを
view/vegetables/index.html.erbで
<% @vegetables = Vegetable.find(:all, :conditions=>@condition).each do |vegetable| -%>
として実行すると
undefined method `%' for ["[\""]:Arrayというエラーが出ます。

整形したものをべた書きすると綺麗に通りますが、@collectionで代入すると
エラーです。

何故でしょうか?


105 :13:2011/07/25(月) 14:01:51.45 ID:IAHMsfps
>>100 のものです。
<% @vegetables = Vegetable.find(:all, :conditions=>@condition).each do |vegetable| -%>

<% @vegetables = Vegetable.find(:all, :conditions=>[@condition]).each do |vegetable| -%>
としましたが、結果は同じでした。

@conditionが別に定義されているかも知れないので@cndなど別の変数にしたが結果は同じでした。

undefined method `%' for ["[\""]:Arrayというエラーはググッても1件も出てきません・・・。

当方Rails2.3.8です。

宜しくお願い致します。


106 :nobodyさん:2011/07/25(月) 16:34:48.91 ID:???
>>105
Rails2.3.8で似たようなコードを書いてもエラーにはなりませんでした。
そもそも、[ "[\"" ] というlength=1の配列はどこから来ているのかが気になりますね。

@conditionの定義部分でタイポとかないでしょうか?

107 :13:2011/07/25(月) 16:45:54.91 ID:IAHMsfps
>>106
vegetables_controller.rbに
if params[:hinmoku_id]
@cnd = []
@cnd << ["[ \""]
@cnd << ["hinmoku = ? "]
end
と、直書きしてます。

でも@cnd << ["[ \""]を削っても、
undefined method `%' for ["hinmoku = ? "]:Array
となって同じでした。

143 :nobodyさん:2011/07/29(金) 15:17:50.97 ID:NreIb2ba
既存のレコードをeditで編集し変更した内容を
submitボタンを2つにしてそのままupdateと新規insertにしたい。

もしくはレコードのコピー+idの採番

をしたいのですが、どうやったら可能でしょうか?


145 :nobodyさん:2011/07/29(金) 17:33:27.53 ID:NreIb2ba
143です。
もしくは、indexのshow | edit | destroyにcopyとつけても良いです。

試しにlink_to '複製', new_vegetable_path(vegetable)としたら
真っ白になりました・・・。


149 :nobodyさん:2011/07/30(土) 01:02:16.68 ID:???
>>145
copyの方がviewの無理がないので、自分ならそっちにします。

newに飛ばしても当然ダメなので、controllerにmethod追加かな。

191 :143:2011/08/02(火) 10:44:58.57 ID:gvG35C3d
def copy
@vegetable_g = Vegetable.find(params[:id])
@vegetable_h = Vegetable.new(params[:@vegetable_g])

respond_to do |format|
if @vegetable_h.save

やはり、@vegetable_h = Vegetable.new(params[:@vegetable_g])にパラメータが入らないのが原因のようです。
いろいろ試しているのですが・・・・。

208 :143:2011/08/05(金) 13:05:10.41 ID:kWLQpcrd
おかげさまで、アプリが完成しました。ご助言有難う御座います。

完成したので、DBをPostgreに移行しようと思い、yaml_dbというプラグインで
rake db:load RAILS_ENV=development
とし、db/data.yamlファイルを作成しました。

config/database.yamlを
development:
adapter: postgresql
encoding: unicode
database: vegetables_development
pool: 5
username: hoge
password: fuga
とし、

Postgre上でDB、vegetables_development(同test同production)を作成。

rake db:load RAILS_ENV=development
を実行すると、
rake aborted! PGError: ERROR: relation "users" does not exist
というエラーが出ます。(この"users"というのはログイン認証用のTableです)

rake db:migrateを実行しても同じです。

別のRailsを作って、スカッフォード→db:migrateしたら正常に動くので
Postgre⇔Rails間は正常に動いていると思います。

rails2.3.8
rake0.8.7
pg0.11

363 :nobodyさん:2011/09/09(金) 12:32:42.34 ID:???
railsってコロコロとバージョン変わるし
使えるプラグインが使えなくなったり、
新しいバージョンのrailsにしか対応してなかったりするのね。

どのバージョンを機軸に開発していくか悩む。
レンタルサーバーはruby1.8までしか対応してないとこがほとんどだし。

379 :nobodyさん:2011/09/10(土) 00:40:26.80 ID:???
>>363
Rails3.0は2系との互換性を保ったまま、徹底的にリファクタリングしたバージョン
Rails3.1は、2.x系との互換性を完全に切り捨てる最初のバージョン。Rails2で書かれたアプリは動くなくなる
Rails3.0には新機能はあまり入っていない。DSLが“おしゃれ”になった程度
Rails3.1には新機能がいろいろと入っている。Asset Pipelineや、CoffeeScript、HTTP Streaming、Identity Mapなど
Rails3.1で入った機能のうち、例えばIdentity Mapは極めて荒削りな状態で入っていて、「ほんとに実アプリで使うの?」という感じ。3.2になれば、使えるようになる
3.2は3.1の安定版という位置付け。3.1はコントローラ周りが遅い、Safe Buffer周りの実装がすっきりしないなどの課題がある。3.2ではパフォーマンスチューニングをガッツリやる
3.3は、出るかどうか分からない。たとえ出るとしても大きな機能は入らない
これから出るパッチは、Rails 4に入ることになる。4.0の話はもう始っている
Rails 4では、Ruby 1.9でないと動かなくなる
予言しておくと3.1は短命になる。しかし、3.1はとにかく面白いのでどんどん使うべき
3.1でjQueryが標準になった。rails-coreメーリングリストでアンケートを取ったら、すでに8割の開発者がRails3.0でjQueryを使っていた。だから3.0で間違ってprototype.jsを使っている人は、未来がないと思って、jQueryに乗り換えると良い

395 :nobodyさん:2011/09/10(土) 17:38:27.23 ID:???
>>379
詳しい解説ありがとうございます。
初心者が手を付け始めるとしたら、どのバージョンがいいですか?
三ヶ月後のサービス公開を前提として、
利用者が10万UV/dayでも問題ないサイトにしたい場合。





396 :nobodyさん:2011/09/10(土) 17:42:08.74 ID:???
ケータイ(ガラケーやiPhone)でも問題なく見られるものを作りたいんだけどscaffoldしてもdestroyレコードはjavascriptですよね?

色んなケータイからも問題なく見られるサイトにしたい場合
開発のコツとかありますか?

またアクセスカウントを取るときのコツってありますか?
なるべく重複しないように

IPアドレス 且つ cookieに残したユニークキー
が違う場合のみカウントアップを行う!など。

397 :nobodyさん:2011/09/10(土) 17:50:00.49 ID:???
>>396
destroyでjavascriptなんか吐かないのでは。confirmの事なのかな。
携帯はjpmobileで。スマホにはjQuery mobile。
アクセスログが取りたくて、人気サービスじゃなければ google analyticsで。


398 :nobodyさん:2011/09/10(土) 17:59:24.95 ID:???
>>397
ありがとうございます。
confirmですね(確認ポップアップ)
scaffoldだと標準でjavascriptが組み込まれてるようですが、
javascriptに対応してないケータイのためにはviewのコード書き換えてあげないといけないですよね?


別件ですが、会員管理はdeviseなどを使えば簡単に出来そうですが、
例えば会員が登録したメアドを変更したい!となった場合はどうすればいいですか?

関連テーブル「profile」をシリアルIDで予め繋いでおいてって出来そうですが、
メアド変更後の確認メールをクリックして確定!の部分は完全に一から作らなきゃダメですよね?
deviseの会員登録の確認メールの機能を流用出来ればと想っていたのですが。

402 :397:2011/09/10(土) 19:40:28.39 ID:???
>>398
viewは、もちろんPC、スマホ、ガラケーで別々に作る。

jpmobileは、3.1対応まだみたいなので気を付けて。

Deviseに足りない機能は自分で作るのが普通。
個人的にはDeviseはやり過ぎで自由度低いので、Warden使って、他は全部自分で書いてる。
ただ、scaffold使おうとか考えてる時点で、Devise読んで直せるとは思えない…。

ガラケー向けは、絵文字処理や空メール登録とかするなら、Rails2系になるけど、そういう本があるのでそれ見て。ちょっと内容古いが。


412 :nobodyさん:2011/09/10(土) 21:42:54.33 ID:???
さくらのVPS上で開発でもするのかな。
管理画面的なものが欲しいだけなら、scaffoldで良いから、管理画面作っちゃえば良いのに。
php入れないで済むし。
phpmyadmin狙いの攻撃も多いし。


413 :nobodyさん:2011/09/10(土) 21:47:45.76 ID:???
>>412
auto_incrementのリセットやキーワード検索とかまでは
scaffoldでは設定できませんよね?
荒らしが出てきたとき皆さんはどのように対処されてますか?
phpmyadminなら一括検索して一括削除、そしてユーザー情報破棄にできます。


428 :nobodyさん:2011/09/10(土) 23:05:11.24 ID:???
nginxがapacheと同じ位置づけなのは分かるのですが
passengerがどの部分の役割を担っているかが分かりません。

nginxサーバーやapacheサーバーで
ruby(on rails)を動かすための中間的なプラグインみたいなもの

って認識であってますか?

437 :nobodyさん:2011/09/11(日) 02:24:36.14 ID:???
>>428
>ruby(on rails)を動かすための中間的なプラグインみたいなもの
うん、そんな認識でいいと思うよ

passengerが登場するまでは相当面倒だったんだよRailsを動かすの
俺はそれまでMongrelってのをapache上で使ってたんだが、いちいちプロセスの管理したりしないといけないから面倒だった
・一つのRailsアプリに一つのプロセスを割り当てる
・そのプロセスが落ちたらアプリも死ぬのでプロセスを監視して落ちてたら再起動する仕組み(monitとかGod)を導入
・一つのプロセスだと大量にアクセスが来たら対応できないので、いくつかの複数のプロセスを予め用意
・プロセス増やすごとにサーバーのメモリを使うんだけど、あんまりアクセスが無い時でも複数のプロセスを起動させたままなのでメモリの無駄
てな具合に個人で管理するアプリにしては面倒極まりなかった だからあんまり気軽にRailsアプリ作れなかったんだよ
当時はVPSも高かったしね

そこにPassengerが登場して、お手軽にRailsアプリを動かせるようになったってわけ
・Railsアプリをアップロードしてやれば(ほぼ)動くようになる
・プロセスはpassngerが管理するので俺らは考えなくてよい
・アクセスが大量に来たときはプロセスをpassengerが勝手に増やしてくれる
・逆にアクセス少ない時はプロセスを減らしてくれる これでメモリリソースを有効に使える
と良い事だらけなのですよ

さらにPassengerのインストーラーの手軽さときめ細やかさは俺が今までに見た中でも最も優秀な部類に入るし、あの会社は皆若いのに凄いと思う

446 :nobodyさん:2011/09/11(日) 15:39:15.16 ID:b5VayDzx
最初rails扱ったときのmongoidを使っていたのですが、
activerecordでmodelの継承できないのですが?
単一テーブル継承というものは見つけたのですが、
一つのテーブルにuserとgroupのようなものが一緒に
入れても問題ないでしょうか。

472 :nobodyさん:2011/09/12(月) 16:09:42.12 ID:???
Ruby寄りの質問ですがお願いします
ActiveRecordでMySQLのデータを取って来ています
MySQL側のNULLをRubyではてっきりnilにしてくれると思ってたのですが、なんと"NULL"という文字列でした

これ何とかなりませんかね?
真偽判定する時に if data == "NULL" なんてのはちょっと不細工かなあと
できれば if data.blank? とやりたいのです

488 :nobodyさん:2011/09/13(火) 01:21:27.32 ID:pMpaI0Dv
Railsを仕事で使っている方々にお聞きしたいです。
ActiveRecordとDataMapperでは、現在どちらの方がよく使用されますか?
やはり後発のDataMapperのほうが将来性があったりするんでしょうか。



493 :472:2011/09/13(火) 18:31:46.48 ID:???
>>488
DataMapperなんて使ってるのは物好きだけです
Rails標準のActiveRecord一択


http://hibari.2ch.net/test/read.cgi/php/1311050686/l50人気ブログランキングへ

ネット関係Apache2.x 【新鯖入荷しました】

1 :nobodyさん:02/04/09 15:19 ID:5kxRMos8
正式リリースを機にスレッドを

http://www.apache.jp/
http://www.apache.org/

新機能紹介記事
http://www.atmarkit.co.jp/flinux/special/apache20b1/apache20b1a.html

15 :nobodyさん:02/04/10 23:02 ID:???
win32版、perl動かない・・・
ExecCGIやったしAddHandlerやったし・・・
何故だ・・

16 :14:02/04/10 23:13 ID:???
>>15
漏れも、.cgiなり.plの一行目を、フルパスで書けば動くのだが・・・。
perlのインストールパス→c:\usr\bin\perl.exe
一行目→#!c:/usr/bin/perl.exe


20 :nobodyさん:02/04/11 02:53 ID:???
php4が動かないのもperlが(#! /usr/localで)動かないのも
僕だけじゃなかったのか…何となく安心しつつ結局1.3.24に戻した.

24 :nobodyさん:02/04/11 12:02 ID:???
>>15-20
適当にソースを眺めた。
どうやら、Win32版のApache 2.0.35は"ScriptInterpreterSource registry"していても
CGIプログラムの先頭行に"#!"があるとそのinterpreterを探しにいくみたい。
ということで、for Win32の2.0.35でCGIプログラムを動かすには

1) プログラム先頭行を"#!c:\perl\bin\perl.exe"などにする
2) ScriptInterpreterSource registryして、プログラム先頭行を削除する

のどちらかしかないようです。

25 :24:02/04/11 12:09 ID:???
バグ報告されているなあ。
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=7786
そのうち修正版が出るでしょう。

48 :nobodyさん:02/04/23 06:35 ID:???
Windows 2000 + Apache 2.0.35 for Win32

Active Perl の wperl.exe を、
C:\usr\local\bin にコピーして、
perl にリネーム、
つまり、拡張子をなくしてみた。

wperl なので、
コンソールウィンドウは出ない。
#!/usr/local/bin/perl も使える。
とりあえずは、
これで様子を見る。

rotatelogs.exe が、
コンソールウィンドウを出しやがるが (大藁

50 : :02/04/23 11:38 ID:???
Windows2000 Server + Apache 2.0.35 なんだけど
Shift-JISやEUCが文字化けする。
METAとか.htaccessでcharsetを指定してもだめ…

ブラウザでエンコードを選び直せばちゃんと表示されるんだけど。
同じような現象の人いませんか?


118 :nobodyさん:02/07/27 12:07 ID:XCYe1qpS
諸事情がありましてapacheの一部をNASサーバーモドキ的な利用方法を行いたいのですが、日本語のファイル名がまれに存在します。rewriteを使ってUTF-8のリクエストを解読しようともくろんでたのですが、、、

http://japache.infoscience.co.jp/rewriteguide/index.html

この辺を参考にしてこんな感じにしました。

[httpd.conf]
????途中????
RewriteEngine on
RewriteMap hoge prg:/usr/local/apache2/bin/rewrite.pl
RewriteRule ^/hogehoge/(.*)$ /hogehoge/${hoge:$1}
????途中????

[rewrite.pl]
#!/usr/local/bin/perl
use Jcode;
$|=1;
while(<>){
s/%([\da-f][\da-f])/pack("C",hex($1))/egi;
Jcode::convert( \$_, "euc" );
print "$_\n";
}

なんとリクエストの変換結果が毎回1行分perlの<>の辺?にバッファされて、1回遅れで前回のリクエストの変換結果が返されてくるんです。(1回前のリクエストのファイルが帰ってくる)
<>で読み込まれるのが1行単位だから問題が発生してるのではないか?と思ってるのですがなにか解決方法はないでしょうかねぇ?
ちなみにapacheは2.0.39 perlは5.6.0なんですけど・・・途方に暮れてます。

119 :nobodyさん:02/07/27 13:48 ID:???
>>118
http://pc.2ch.net/test/read.cgi/unix/1026972599/84

121 :118:02/07/27 23:57 ID:XCYe1qpS
>>119-120
ちっ、2chなら知ってる人居るかも。とか思って聞いてみたんだが・・・
違う板にそれぞれ書いてんのに、なにが問題なんだ?片方の板しか読んでない
人だって居るだろうなぁ。って思ったから両方に書いただけやん。
バイク板とリーマン板とかで同じ話題してもこんなこという奴いないけどなぁ。
119とか120がマルチポストを嫌ってる合理的な理由がわからん。
自分のことだけ考えてるからむかつくんだろ?
多くの人がいろんなトラブルと解決法を見ることができるほうが合理的だと
思うが。UTF-8のリクエストを受け入れたいって思ってる人が俺以外にも居る
かも知れないし。
(WEBプログラミング板&&UNIX板)!=(バイク板&&リーマン板)
なんて言うなよ。板は板だ。板が分かれてるってことはそれぞれに住人が居る
ってことだろ。その辺どうよ。

もう一回書きたいけど、俺は純粋にこの問題に対する糸口を探したかっただけ。
別に悪意があったわけじゃない。まぁ、119,120は気に入らなかったみたいだが。

125 :nobodyさん:02/07/28 00:26 ID:???
どうせ煽りだろうと思って途中までレス書いてたら
IDまで同じじゃ無いか!
これが真性夏厨か、面白い程の豹変ぶりだな

132 :nobodyさん:02/07/28 14:50 ID:???
>マルチだめってどっかに出てるの?
ここでのマナー

134 :nobodyさん:02/07/28 15:02 ID:tWbIBB2r
>>132
ここって?

145 :nobodyさん:02/07/28 17:16 ID:???
もう遅いな。マルチポストしなければもう解決してたのに。
つか、>>125と同じく、途中までレス書いてたんだけどな。
マルチポストを指摘されて開き直るDQNにレスしたくねぇし。
人間性がモロに出て面白かったよ。


146 :nobodyさん:02/07/28 19:16 ID:???
>>145
まだマルチポストに執着してるのかい?粘着君。
マルチポストは謝ってるんだからもうほっとけよ。

182 :nobodyさん:02/09/08 02:13 ID:???
15MBほどのファイルにアクセスすると、子プロセスが落ちる......
なんでだろう。

183 :hoge:02/09/09 08:36 ID:???
>>182
子プロセスが落ちるという事だからWin32以外のApache2なん?
もしWin32なら、それはApache2.x(Win32)のバグですよ。
Win32じゃないなら、スマソ、わからん。

184 :nobodyさん:02/09/10 01:09 ID:/+zZTTpy
>183
スマソ
環境かいてなかった。
FreeBSD 4.6STABLE + PHP 4.2.2 + MySQL 3.23.51

もう、どうしていいやら。


192 :nobodyさん:02/09/24 14:02 ID:fEkqsFiN
ねぇ、2.0.39って、文字化けしない?

htdocsに置いた、Shift_JISのhtmlファイルをブラウザから呼ぶと、
なぜか西ヨーロッパ言語になる。
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
入れても、全然効果なし。

手動で日本語にすると治るんだけど、何でMETAで指定してんのに、
Shift_JISがデフォにならないんだろう?

同じファイルを、1.3.22を動作させた別鯖に写して呼び出すと、ちゃんと
Shift_JISになってるから、2.0系の「なにか」だと思うんだが‥‥

193 :nobodyさん:02/09/24 14:09 ID:???
ヘッダ優先

194 :192:02/09/24 14:54 ID:fEkqsFiN
>>193

だからヘッダにちゃんとMETAで指定してるって書いてるやんか。
ヘッダ優先なら、なんでMETA情報が優先されへんの?

195 :nobodyさん:02/09/24 15:16 ID:???
>>194
<HEAD>ではなくHTTPリクエストヘッダのことだヴォケ。
ちゃんとドキュメント読め。httpd.confを見直せ。

198 :192:02/09/24 16:04 ID:fEkqsFiN
>>195

ありがとうよ。感謝してるよ。
HTTPレスポンストヘッダでぐぐって

AddDefaultCharset off

にして再起動したら、上手くいったよ。



でも、これ困った機能だな。
虎サヴァは、sjisとeucのhtmlが混在しているから、<META>で区別できな
いのはえれぇ困る。今更統一すんのも面倒だしな。
#特にsjisのhtmlから、eucのCGI呼び出すのが結構ある‥‥‥

よく読まずに新しいの!で2.0にした俺も迂闊だが、なんでこんな機能つけ
たんだ?

<META>指定を優先しろぉぉぉぉ

200 :nobodyさん:02/09/24 16:25 ID:???
>>198
ヘッダを優先するかMETAタグを優先するかは、ブラウザの仕様によるからApacheのせいではないと思うが、、、
>特にsjisのhtmlから、eucのCGI呼び出すのが結構ある‥‥‥
同じサイト内で統一してない香具師はDQN

202 :nobodyさん:02/09/24 16:36 ID:???
CGI側でContent-Type: text/html; charset=EUC-JPとヘッダ出力しろよ。

203 :192:02/09/24 16:51 ID:fEkqsFiN
>>200

わかってるよ!しょーがないだろ!できちゃったものはよ!(笑)
#統一しときゃよかった。

>>202

もちろん、それを書いてます。>>192にも<META>入れてるって書いて
ますよね?
でも、ぐぐったら、
http://mm.apache.or.jp/pipermail/apache-tech/2002-May/000381.html
というのが出てきました。

2.0から、charsetが出力されるようになり、>>193の言うように、優先される
らしいです。

今はAddDefaultCharset off にしてありますんで、<META>記述のコード
になってます。

ちなみに、ブラウザはIE5.5だったりするんですけどねぇ‥‥


273 :nobodyさん:03/06/13 12:10 ID:???
CGIだけど、なんか質問ある? Part 10
http://pc2.2ch.net/test/read.cgi/php/1048686475/922

から移動してきました。

apache 2.0.40でルート/ユーザ/その小孫ディレクトリ全てで、
CGIを実行できるようにしたいです。そこで、

<Directory />
Options FollowSymLinks ExecCGI
AllowOverride None
</Directory>

<Directory "/var/www/users/*/public_html">
AllowOverride FileInfo AuthConfig Limit
Options MultiViews Indexes SymLinksIfOwnerMatch ExecCGI
</Directory>

AddHandler cgi-script .cgi(コメントは外してある)

のようにhttpd.confの一部を書き換えたですが、
/cgi-bin/(ScriptAliasしてある)では動作するものが、
任意のディレクトリでは
エラー:Premature end of script headers: *.cgi
が出てしまって動きません。
LogLevelはdebugですが、これしか出ません。

初めは文字コードやパスの問題かと思いましたが、
Cのコンパイル済みファイルでも同様でした。
お手数ですが、お教えください。

291 :nobodyさん:03/07/13 17:47 ID:???
Apache自体初心者なんですが、
httpd.confを見たら、
なぜ、ドキュメントルートを指定する箇所が、2つもあるのですか?
(ちなみにWin版Apache 2.0.47です)

あるいは↓の後者は、別の意味なんでしょうか?

# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "C:/Program Files/Apache Group/Apache2/htdocs"

#
# This should be changed to whatever you set DocumentRoot to.
#
<Directory "C:/Program Files/Apache Group/Apache2/htdocs">

294 :nobodyさん:03/07/14 10:13 ID:???
妙な現象で悩んでる。

W2k SP4 + Apache 2.0.46 なんだけど、 httpd.conf に以下の様に記述して、
スタートメニューのところにある Restart とかすると、コマンドプロントウィン
ドウが出っぱなしになる…。

TransferLog "|D:/HOME/INET/Apache/bin/rotatelogs.exe logs/access_%Y%m%d_.log 86400"

これ、1.3.26 の時は出ない現象なんだ。で、タスクマネージャで見ると、
ちゃんと動いてるので閉じるボタンでコマンドプロンプトを閉じても支障無いんだけど、
なんか気分的によくないんだよね。Monitor Apache Servers も使えないし…。


296 :nobodyさん:03/07/14 12:54 ID:???
>>294
確かになるね。
Monitor Apache Servers使えない?
ウチではrotatelogsを記述してもちゃんと使えてるけど。

ところでファイル名に%Y%m%dをつけても、UTCとのオフセットを設定しないと
ログが切り替わる時間が9時間遅れてしまわない?

304 :nobodyさん:03/08/11 21:56 ID:fDUmjiNi
当方、redhat9 apache2でウェブサーバを立ててます。
cgi-binをcgi使用可にして簡単なもの(“hello world!”とか表示させたり、
フォームでメール送信させるものなど)は動くのですが、
ttp://www.ace-cgi.jp/cgi/diary/003/index.htmlの日記CGIとかが使用できませ
ん。
ちなみにエラーログに、自宅サーバ板の過去ログに以前でていた
------------------------------------------------------------
ModPerl::Registry: Can't locate ./jcode.pl in
@INC (@INC contains:
/usr/lib/perl5/5.8.0/i386-linux-thread-multi
/usr/lib/perl5/5.8.0 /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl
/usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl .)
at /home/www/cgi-bin/hogehoge/hogehoge.cgi line 15.
------------------------------------------------------------
というのがでていたので、line15の
require'./jcode.pl';の部分をrequire'jcode.pl';に変えたら
サーバエラーは出なくなったのですが、(なぜそれで動くのかは不明。
なんとなくやったら動いてしまった。)こんどは“マスターファイルが
オープン出来ません”というエラーがでてしまいます。

“マスターファイルがオープン出来ません”というエラー自体はCGIが
吐き出しているので、CGIは動いているみたいなのですが…
パーミッションの設定はサイトでの指示通り変更してあります。

よくわからないのですが、cgi-bin以下で新しいファイルを生成させる
設定が必要なのでしょうか?もしそうであればapache側の設定なのだと
思うのですがどうしていいかわかりません。

おしえてください。よろしくお願いします。


325 :nobodyさん:03/09/01 19:03 ID:z6A7k0gS
winMeで2.0.46入れました
エラーログにこんなのが出て、apacheのプロンプトに何も表示されないで
起動できないです。Ctrl+cで終了はできます。
プロセスの数字のところは、毎回変わります。
常駐いっぱい切ってもダメでした。
なにがいけないんでしょうか。お願いします

[Mon Sep 01 18:36:11 2003] [notice] Parent: Created child process -91713
[Mon Sep 01 18:36:12 2003] [notice] Child -91713: Child process is running
[Mon Sep 01 18:36:12 2003] [notice] Child -91713: Acquired the start mutex.
[Mon Sep 01 18:36:12 2003] [notice] Child -91713: Starting 250 worker threads.

343 :nobodyさん:03/11/24 05:35 ID:XyRBSUcN
LinuxでApache2.0.48のconfigureがうまくいきません。
db.hがどうのこうので最後はセグメンテーション違反と言われてしまいます。
Berkeley DB 4.1
というものが必要なのでしょうか??
よろしければどなたか教えてください。

344 :nobodyさん:03/11/24 05:49 ID:???
>>343
--enable-auth-db とかやってる?もしそうなら--enable-auth-dbmにするとか

345 :343:03/11/24 06:20 ID:???
>>344
レス有難うございます。
引数なしでもダメで、--enable-auth-dbmを試してもダメでした。
Berkeley DB 4.1.25とやらを落としてきてもインストールの方法わからんし・・・。
勉強のためにやっているのであきらめたくはないのですが、そろそろめげそうです。
ググッても同じような例が探せないのも謎ですし。皆さん達人なのでしょうか。

351 :nobodyさん:03/12/12 02:17 ID:NfA0hHhE
win2000でApache 2.0.48を入れたのですが・・
(2.xは初めてです。)
どうしてもエラーが出るのでノートン(NIS2003)のfirewallの設定を変えて
何とか動きはするのですが以下のlogがどうしても気になります。

[Fri Dec 12 01:45:25 2003] [notice] Parent: Created child process 924
[Fri Dec 12 01:45:25 2003] [notice] Child 924: Child process is running
[Fri Dec 12 01:45:25 2003] [notice] Child 924: Acquired the start mutex.
[Fri Dec 12 01:45:25 2003] [notice] Child 924: Starting 250 worker threads.

これは何でしょうか?
以前の1.xの時は見なかったもので・・。
やはり何か設定に問題があるのでしょうか?

374 :nobodyさん:04/05/09 19:30 ID:???
今日Winの再インストでApache2も入れなおしたんですけど、
起動してすぐOSごとフリーズしてしまいます。
エラーログ見てもエラーらしき記述がありません。
いったい何が原因なんでしょうか?
再インスト前はまったく問題なく動いてました。

(エラーログ)
[notice] Parent: Created child process -16432827
[notice] Child -16432827: Child process is running
[notice] Child -16432827: Acquired the start mutex.
[notice] Child -16432827: Starting 250 worker threads.

390 :nobodyさん:04/05/19 21:38 ID:???
便乗質問。
PATH_INFOってなんのためにあるの?


395 :390:04/05/20 22:25 ID:???
分からん。
なんで&とかでつなげないで、/を使う必要があるんだ?


397 :nobodyさん:04/05/23 11:58 ID:???
>>395
ヒント:SEO

398 :nobodyさん:04/05/24 12:19 ID:???
短くて便利じゃん。

read.cgi?bbs=php&key=1018333172&ls=50
read.cgi/php/1018333172/l50


399 :390:04/05/24 22:11 ID:???
>>397
なるほど。

>>398
いやいや、それはユーザの話だから。
サーバ管理者が便利なわけじゃないし。


454 :nobodyさん:2005/12/26(月) 00:42:55 ID:???
PHPの勉強の為 Apacheをインストールしたいのですが
2.0.52 と 2.2.0 はどっちがいいですか?


551 :nobodyさん:2007/05/30(水) 20:33:20 ID:???
fedora(LINUX)にapache2をインストールしたのですが、フォルダーにアクセスするとindex.htmlよりindex.php
の方が優先的に表示されてしまって困っています。
DirectoryIndexの設定は下記のように指定しているので、index.htmlの方が優先的に表示される
はずなのに・・・orz
DirectoryIndex index.html index.html.var index.htm index.php

<Directory "/var/www/html/">
Options Indexes FollowSymLinks ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>

super apacherな先生方、どうか指摘お願いします。


575 :nobodyさん:2007/10/23(火) 14:02:49 ID:???
微妙な質問失礼します。

.htaccessで、RequireとOrderどちらでも通るようにSatisfy any書いたら
httpd.confで設定されている .ht* へのDenyルールが効かなくなりました。
理屈はわかるんですが…
スマートな解決策知ってる方はいらっさいませんか


598 :nobodyさん:2008/05/29(木) 11:24:54 ID:???
今使ってるapacheが、configure時に
--enable-soオプションを使っていたかどうかを
調べる方法はある?

605 :nobodyさん:2008/07/22(火) 16:24:32 ID:???
質問です

mod_perl の ModPerl::Registry ハンドラ環境下で、
前回スクリプトが実行された時には存在した環境変数の値が、今回は与えられていなかった場合どうなりますか?

例えば、前回は通常のブラウザからアクセスされて $ENV{'HTTP_USER_AGENT'} が存在したのに
今回は useragentが申告されなかった場合、$ENV{'HTTP_USER_AGENT'} の値はどうなりますか?
前回実行時の $ENV{'HTTP_USER_AGENT'} が残ったままになりますか?
それとも undef されるんでしょうか?

609 :605:2008/07/24(木) 13:41:58 ID:???
  StartServers 1
  MinSpareServers 1
  MaxSpareServers 1
  MaxClients 1
  MaxRequestsPerChild 1

にしてみたけどどうやっても同じプロセスが処理してくれない・・・ (´・ω・`)
our宣言した変数を後始末せずに表示してみたらやっぱり毎回初期化されてる
ブラウザからアクセスするとちゃんと初期化されてない値が返るんだが・・・
う??む・・・

・・・というか>>605の件、仕様上はどうなるハズなの?


http://hibari.2ch.net/test/read.cgi/php/1018333172/l50人気ブログランキングへ

ネット関係オマエラPHPで掲示板つくれませんか?

1 :Apache初心者:02/07/10 01:45 ID:s6ix1jgo
とりあえず、データベースは何を使えばいいかと。
PostgreSQL, MySQLどっちがいいかな?
掲示板作るには。

45 :nobodyさん:04/11/23 02:05:12 ID:???
今のところ、これだけでつよね?
・引用文<blockquote>
・段落<p>

リストとかどうしまふ?

54 :nobodyさん:04/11/23 11:58:16 ID:???
http://pc5.2ch.net/test/read.cgi/hp/1101043958/
Strict-HTMLの住人がStrictなBBSを作ろうという事で
死んでいたこのスレを有効活用しようという流れの模様。

68 :nobodyさん:04/11/23 23:04:07 ID:???
ネストに対応させると混乱する利用者がでそうだからやめた方がいいかも?

72 :nobodyさん:04/11/24 03:00:46 ID:???
>>68
ネストはありがいいなぁ。
つか、利用者は引用の文章の行頭に>を一個足すだけだし混乱はしないと思うんだけど。
まあ、うちに居ついてるおばさんは何度言っても>を一個しかつけないんで、誰の文章かわからんようになってる、ってことはあるけどな。
そんなのは滅多にいないでしょ。

74 :nobodyさん:04/11/24 17:28:44 ID:???
>>72
混乱はしないと思う、の根拠がよくわからん。
「これくらいの機能使いこなせるだろ」ってのが実際に正しいかどうか、
その溝が制作者とユーザの間で大きいことはよくある。
そのおばさんがマイノリティかマジョリティかはわからんよ。

83 :nobodyさん:04/11/25 09:44:41 ID:???
>>74
引用のつもりで「>」を書くやつが個数間違えるかな。
間違える奴はバカだから、バカ向けに作るのは無理だと思う。
漏れは2ヶ月掛けておばさんに引用の仕組みを教えたけどな。あれはバカだ。

84 :nobodyさん:04/11/25 10:18:22 ID:???
>>83
>引用のつもりで「>」を書くやつが個数間違えるかな。
>間違える奴はバカ

だからそれがマジョリティかマイノリティかはわからん、と言っている。
間違えるやつはバカかも知れんし脳味噌固いかも知れん。
でも大多数がバカだったら「賢い俺だけが使える掲示板」でいいのか?

引用の引用はネストさせる必要がある(この場合引用符を重ねる)なんて、
HTMLに一切関わってない一般の訪問者のどれくらいが理解できるかね。
二ヶ月もかけて引用の仕組みを教えなけりゃいけない掲示板を、
誰のために作ろうなんて思ってるわけ?自分だけが使えりゃいいのか?
それこそタグ許可した掲示板でも使ってろってなるだろそりゃ。

103 :nobodyさん:04/11/26 12:40:11 ID:???
試しにStrictBBS設置。
Strictにレスしまくり。
ある日HTMLとは無縁のお子様が登場、その子はこう言った。
「あのー、左側を空けるにはどうしたら出来ますか?」
どうやら引用のインデントのことを指しているらしい。
私は、ここでHTML云々を説明するのも何だと思って、こう答えた。
「行頭に「>」を入れると、その行が引用文としてインデントさせるよ。」
すると次の日、目を疑った。
なんと、引用文の意味として使われるはずの引用が、ただのインデント目的で使用されているではないか。

わっはっは。こうなったら笑うしか無いね。

119 :nobodyさん:04/11/27 00:58:42 ID:???
>103
> どうやら引用のインデントのことを指しているらしい。
> 私は、ここでHTML云々を説明するのも何だと思って、こう答えた。
> 「行頭に「>」を入れると、その行が引用文としてインデントさせるよ。」
インデントの仕方を問われて引用の方法を答えりゃ、インデントするために引用するだろうよ。

> わっはっは。こうなったら笑うしか無いね。
あんたが悪い。

120 :nobodyさん:04/11/27 01:14:16 ID:???
>>119
> 私は、ここでHTML云々を説明するのも何だと思って、こう答えた。
これ読めないの?
知識無くとも使えるのが、課題じゃないの?
アホ?

152 :nobodyさん:04/11/27 04:36:18 ID:???
いや、このスレ死んでたらしいのよ、
そんで>>54の様な経緯から再利用してるみたいなんだが。

154 :nobodyさん:04/11/27 04:52:48 ID:???
>>152-153
そう思うなら、専用スレ立ててみては?
結果はわかりきってるけど。

160 :nobodyさん:04/11/27 05:54:09 ID:???
>>154
立ててうまくいくかどうかわかんないから廃スレ再利用で話し合ってるだけだよ。
蚊帳の外の子にはごめんだけどそっとしといてくれ。

162 :nobodyさん:04/11/27 05:55:35 ID:???
>>160
元からこのスレで作ってた人はどこへ行けば・・・・

204 :196 が最初:04/11/27 09:01:49 ID:WQ0RmNyY
あーもぅ作りたいならさっさと作れよ

作る気ねーなら消えろ

211 :nobodyさん:04/11/27 09:18:53 ID:???
http://joram.agz.jp/cgi/bbs/bbs.cgi
元祖StrictBBS↑使ってるところがまだあった。

こういうのを望んでまつ。

215 :nobodyさん:04/11/27 09:26:35 ID:???
>>211
のじゃ参考にはならないですか?
わかり難いとは思うけど…orz

219 :nobodyさん:04/11/27 09:37:42 ID:???
ここの「PHPで掲示板」のがきウゼーしスレたてるよ。


225 :nobodyさん:04/11/27 09:46:43 ID:???
立てれなかったぜ

テンプレ

strictな出力をするBBSを作成するスレッドです。
strictの種類としては、html4.01.XHTML問いません。
書き込みに対し、どのような処理を与え、どんな結果を出すことが望ましいか、
そのコードはどんな風にすればよいか、を話し合うスレです。

参照スレッド
Strict-HTML スレッド25@Web制作
http://pc5.2ch.net/test/read.cgi/hp/1101043958/l50

241 :nobodyさん:04/11/27 10:12:27 ID:GhxEggFV
うーん

普通のサンプルならすぐ作れるんだけど・・・
Strictっていうのは、それなりに難しいものなのかな?
何も知らずにサンプルを要求したのがまずかったとか?

242 :nobodyさん:04/11/27 10:15:13 ID:GhxEggFV
ページを見せて欲しいって書いたのも、普段書いているソースを見れば
何を要求しているかわかると思ったからなんだけど。

私は、普段、見えればいいと思って書いてるので
正しいHTMLはちょっと難しいかもしれないです。

243 :nobodyさん:04/11/27 10:18:42 ID:???
>241

>242

あのさ。
もうすでにそんな次元の話はしてないのよ。
よかったら、>>225のテンプレでいいから「strictbbs」ってスレタイでスレ立てて。
それだけだから。君にできる事は。

244 :196 が最初:04/11/27 10:20:57 ID:WQ0RmNyY
>>243
つーか何がしたいのお前?気晴らしにスレ立てたいだけ?

245 :nobodyさん:04/11/27 10:22:56 ID:???
>>242
211のを参考に適当に作ってみたけど
http://web2ch.s31.xrea.com:8080/?plugin=attach&pcmd=open&file=index.html&refer=Uploader
Strictスレの人も添削してみて下さい。

264 :nobodyさん:04/11/27 11:26:47 ID:???
何でこんな荒れてしまったのだろう(´Д⊂、

267 :nobodyさん:04/11/27 11:31:47 ID:???
>>264

・具体的方向へ進まなかったから。

・乗っ取りなんだからsage進行すればいいのに、ageたらスレタイ見て来る奴が
 増える事にも気付かないでageまくる無神経な馬鹿が居たから。

269 :196 が最初:04/11/27 11:33:56 ID:WQ0RmNyY
>>267
>・具体的方向へ進まなかったから。

十分進んでただろ、何もしないよりはな

>・乗っ取りなんだからsage進行すればいいのに、ageたらスレタイ見て来る奴が
>増える事にも気付かないでageまくる無神経な馬鹿が居たから。

おー、まともな意見だな。いつ考えたんだ?
で、なんで言わなかったんだ?

270 :nobodyさん:04/11/27 11:36:18 ID:???
>>269
ageるな氏ね。

271 :196 が最初:04/11/27 11:36:46 ID:WQ0RmNyY
>>270
つーか別スレあんだからもう関係ねーだろっつってんだろ

293 :nobodyさん:04/11/27 13:08:07 ID:GhxEggFV
とりあえず、さっきのサンプルで作ってますよ。

294 :nobodyさん:04/11/27 13:12:45 ID:???
>>293
Strictでないらしいぞw
頑張って意味不明Strict作って見せつけてやれw

http://pc5.2ch.net/test/read.cgi/php/1101518977/
ネット関係 [WebProg] “【HTML】StrictなHTMLのBBSを作ろう【Perl,PHP】”

43 名前:nobodyさん [sage] 投稿日:04/11/27(土) 13:02:48 ID:???
サンプルは Strict 以前に Valid でもないんだもんな。lint かけたか?

個人的には、投稿タイトルは dt ではなく、見出しのような気がする。

295 :nobodyさん:04/11/27 13:19:05 ID:GhxEggFV
>>294
DWでも10個エラーが出ています。
でも、そういうのはあとから修正してくれるのだと思います。
あまり心配していませんよ。

297 :nobodyさん:04/11/27 13:24:12 ID:???
>>294
ごめんね適当に書いてて。

304 :nobodyさん:04/11/27 13:42:23 ID:???
ほんとだ・・・
http://validator.w3.org/check?uri=http%3A%2F%2Fweb2ch.s31.xrea.com%3A8080%2F%3Fplugin%3Dattach%26pcmd%3Dopen%26file%3Dindex.html%26refer%3DUploader


305 :nobodyさん:04/11/27 13:45:25 ID:???
>>304
英語読めないってw俺日本人w

307 :nobodyさん:04/11/27 13:47:10 ID:???
>>305-306は鉄格子が嵌められた病室へ隔離されました。

337 :nobodyさん:04/11/29 21:03:01 ID:???
今更なんでそんな掲示板作ってんの?

フリーで配ってる掲示板見ながら作った方が早いっしょ

338 :nobodyさん:04/11/29 21:07:48 ID:???
>>337
Strictの掲示板がいいらしいですよ。
作り始めてみると、ちょっと難しいかなって思いました。

352 :nobodyさん:04/12/02 17:43:30 ID:z4geFv4b
出来れば、今度の休みあたりで掲示板の基本的な構造を固めたいと思います。
2チャンネル形式にするのか、普通の一枚掲示板にするのか、両方の表示を選べるのか、
そういったことです。

検索をつけるのであれば、どの程度の使われ方をするのか見積もりたいです。
検索を実装するためにはインデックスまたはキャッシュが必ず必要です。
ここら辺も含めて考えたいので、検索に何を望むのかが知りたいです。
ただし、ぐーぐるを超える検索機能を実装する予定はまったくありません。

356 :nobodyさん:04/12/02 22:30:36 ID:???
>>352
検索については、静的HTMLなら、従来広く公開されている全文検索の
スクリプトを使って検索できるので、掲示板として検索機能を実装する
必要は無いと思われます。


358 :nobodyさん:04/12/02 22:42:35 ID:z4geFv4b
私自身は高機能化させたいのですが、
高機能化には必ずコストが付いて回ります。

それでユーザ像がわかるといいなと思うわけです。
ファイルUploadや画像Upload、そういったものを必要とするのか?
そんなことも知りたいです。

361 :nobodyさん:04/12/02 23:17:13 ID:???
余裕があるんなら二種類サンプル作ってみてもいいかも知れない。
実際どういうタイプを設置しようか決めかねてる人もいるかも知れんし。

363 :nobodyさん:04/12/02 23:20:38 ID:z4geFv4b
>>361-362
なるほど。
すると、保存しておくデータとしては返信元がわかるようにしておいて、
表示するときに選べるようにしておけばいいのかな?

規模としては1万レス程度を想定しておけばいいのでしょうか?

364 :nobodyさん:04/12/02 23:22:31 ID:z4geFv4b
他に思いつくのは、質問掲示板だと、カテゴリを切れるようにしたほうがいいのかとか、
カテゴリを作るのは誰なんだろうとかです。

各レスに返信ボタンがあったほうが便利なのでしょうか?

365 :nobodyさん:04/12/02 23:35:23 ID:???
>>363
そんな具合だと思います。
>>364
カテゴリはどうなんでしょう?カテゴリを分けねばならないほど大規模な
掲示板になる場合は、scriptを複数設置する方がスマートな気がします。
フロート式やレス式掲示板の場合は、返信ボタンは親記事にあれば、
子記事には不要でしょう。ツリー式であるなら、木構造になることに
意味があるので子記事にも返信ボタンが必要でしょうけど。


366 :nobodyさん:04/12/02 23:53:35 ID:z4geFv4b
>>365
了解です。
当面、掲示板の構造としては、スレッドに対して複数のレスが付くという形を想定します。
2チャンネルで言うと、>>1さんに対してレスを付けていくような構造です。

返信画面で、フォームにはあらかじめ元記事が書かれているのですが、
ここら辺の兼ね合いはどうしましょう?

http://edit2000.s101.xrea.com/bbs/res.php?id=79

367 :nobodyさん:04/12/03 00:05:39 ID:???
>>366
それは、textareaの中身として#PCDATAが必要って話?
#PCDATAは任意の長さを持つ任意のテキストなので、長さが0でも
いいんじゃない?(この辺、曖昧。誰か教えてplz)


381 :nobodyさん:04/12/03 09:51:41 ID:???
つい、
>ほげほげ様へ
とかやっちゃうと引用になってしまうわけだな。
vBuleltinやphpBBのように独自タグで囲って引用の方がいいかもしれない。

382 :nobodyさん:04/12/03 10:05:31 ID:???
>381
それは引用元(cite要素)になるな。
この場合どうすんだ?

385 :nobodyさん:04/12/03 10:13:05 ID:???
citeは違う。
citeは引用元のURIに使う属性だよ。

390 :nobodyさん:04/12/03 10:54:15 ID:???
>>358
>ファイルUploadや画像Upload、そういったものを必要とするのか?
どうなんだろう、あったほうが嬉しい人の数はどんなもんだろう。
私はあってもなくてもいいかな。
実装する場合はどう表示するかはHTML書いてる人にまかせるとして
そういう機能が欲しいかどうか、そこだね。

442 :nobodyさん:04/12/04 02:59:01 ID:???
つーことは、俺らの仕事は、<em></em>の代わりに{}を使えるように
したり、・をリストにしたり、blockquoteのネストを処理したり等々、
まるでオーサリングソフトみたいなことをやれってことなんかな?


443 :nobodyさん:04/12/04 03:03:44 ID:kHpZzs3Q
>>442
その程度だと1日有ればできてしまうし・・・
もうちょっと色々盛り込みたいなぁ・・・
等と思ってしまうのです。
それが嫌がられるのかな・・・

445 :nobodyさん:04/12/04 03:10:25 ID:???
>>443
つまり、どこにでもあるようなのは、嫌だ。
それなら、あまり作る必要が無い。
どうせなら、自分の能力限界に使い、
味のある物を作ってみたい。
なので、出来ればどんな要望でも、
必要であるのなら出して欲しい。
可能な限り、やってみるよ。
ってこと?

446 :nobodyさん:04/12/04 03:11:50 ID:???
>>445
それなら全ての要素網羅、かな。
設置者にon/off選ばせる。

死ぬぞ。

447 :nobodyさん:04/12/04 03:16:51 ID:???
掲示板のscriptを書くときに、デザインとレイアウトを考えなくて
済むならば、確かに簡単にコーディングできるわな・・・と思った。
つまり、簡単にコーディングできる=誰でも作れる=差別化できない
ゆえに、不思議マークアップ全開でゴテゴテ着飾ったものが数多く
作られるってことじゃないかい?

それはともかく、>>446なら、もういっそ掲示板の書き込み者は
html使って書き込めよ。なんて極論も思ったりもする。


451 :nobodyさん:04/12/04 03:43:38 ID:???
強調もemとstrongの2種類あるけれど、どちらか一方だけにして、
その代わり弱める要素を取り入れたらいいかもね。<em class="弱める">
みたいな感じ。


649 :nobodyさん:2005/07/07(木) 01:09:22 ID:gjggPGY2
ちょいと質問させてください。

PHP+MySQLで掲示板を作ろうとしています。
テーブルの構造は、
+------+-------+-------+-------------+
| ID | resID | name | text |
+------+-------+-------+-------------+
| 1 | 0 | 太郎 |テスト書込み |
| 2 | 1 | 花子 |返信テスト |
| 3 | 0 |かつお |日曜日の夜 |
| 4 | 0 |わかめ |パンチら |
| 5 | 2 |たらお |ままー |
| 6 | 0 |ますお |おとうさん |
| 7 | 2 |あじお |そんな人えん |
+------+-------+-------+-------------+
親記事も子記事(返信記事)も1つのテーブルに入ります。
IDはオートナンバー、resIDは、親記事には0が、子記事には親記事のIDが入ります。

ここまでは出来てるのですが、
表示をさせようとしたところで、止まってしまいました。

■親記事・・・・・・
 ◆子記事・・・・・
 ◆子記事・・・・・
■親記事・・・・・・
■親記事・・・・・・
という風にしたいのですが、普通にSELECT文では、ID順になってしまうわけで…。

どうしたら、↑の様に表示できるでしょうか。
ORDER BYも何か違うような気がするし…。

教えてくださいm(__)m

651 :nobodyさん:2005/07/07(木) 02:00:50 ID:???
一つのSQLで済ませたいなら

select a.ID as threadID, b.ID, b.name, b.text
from table a
left join table b on a.ID = b.resID or a.ID = b.ID
where a.resID = 0


threadIDとIDが同じものを親記事として表示、
違うものを子記事として表示

かな。

653 :nobodyさん:2005/07/07(木) 15:01:47 ID:???
親記事と子記事のテーブル作ればいいんジャマイカ?

655 :nobodyさん:2005/07/07(木) 16:44:47 ID:???
いや、ツリーじゃないでしょ。
多分、>653の通りでいいんじゃないかと


http://hibari.2ch.net/test/read.cgi/php/1026233119/l50人気ブログランキングへ

ネット関係php5これでCGIはphp1色の時代へ

1 :nobodyさん:02/04/12 16:42 ID:DpXGWeMS
ふふ

22 : ◆AngelBlk :02/04/14 21:37 ID:???
PHP5の前に、とりあえず4.2・・・。
PHP-devel ML(JP)読んでるけど、
5はかなり大きな変更になりそうだね。

23 :nobodyさん:02/04/14 22:14 ID:???
>>22
要約キボン

37 :nobodyさん:02/04/16 00:52 ID:???
PHPいいわ。ジャヴァやスィやペルルなんて全くわからないけど
コレは簡単。息子に聞かなくても、もう大丈夫。
これからはPHP,CSS,Flashのトリプルイーズィープログ゛ロマーこそ最強。
わけわかんねーからザヴァとか逝っていいよ。Javascriptは良し。

41 :nobodyさん:02/04/16 22:53 ID:???
PHPってなんであんなにやり易いんだろう。
Perlとかソースみてると頭が痛くなる。

44 :nobodyさん:02/06/01 23:42 ID:2HMrwkAK
>>41

PHP で頭痛くならないってたいしたもんだよ。Pear のソースなんて
書き手のオナニーだろ。(あんな使いづらい下手糞な設計でも PHP 標準
でついてきてしまうんだから、参った。)

50 :デフォルトの名無しさん:02/06/06 22:27 ID:FSJ1DXvz
phpでCGIを書けるんですか?

121 :nobodyさん:04/08/20 04:31 ID:???
PHP5全然使われてないよね。
失敗だったの?
OO廻りがだいぶまともになっていいなあと思ってたんだけど。

205 :nobodyさん:05/02/19 23:48:25 ID:???
4から5で大きく変わったか!?
まじでPHPのこと何も知らないだろ。
ttp://www.php.net/manual/ja/faq.migration5.php
Javaもどきなオブジェクト指向だから
既存アプリの移植が面倒なだけで困る低脳はいないだろ。
なんなら互換モードでそのまま動くし。

Perlの4から5、Javaも1.1と1.3、1.4、
VBも.Netへの移行なんかに比べれば
言語仕様の変更は無いに等しいよ。

「基本的なライブラリ」ってPEARのこと言ってる?氏んどけ。

211 :nobodyさん:05/02/20 17:29:17 ID:???
PHPは、クラス使ってれば動かなくなるんだよね。
特定APIの仕様が変わったというだけのJavaとはレベルが違うよ。
PHPの場合、API的位置付けだったPEAR自体が動かなくなってしまうんだからね。

なんか、PHPの人は必死だな。

212 :nobodyさん:05/02/20 17:57:45 ID:???
つーか4.0系と4.2以上でかなり違うよね。
マジ使えねぇ。

213 :nobodyさん:05/02/20 20:12:29 ID:???
3系から4系、4.0から4.1、4.1から4.2の移行を試みたことがない人なんだろうなぁ。

214 :nobodyさん:05/02/20 22:02:56 ID:???
>>211
PEAR が API 的位置付け!?はぁ?

それにクラスも機械的変換で動くんですけど。
Pukiwiki とか 4 から 5 対応したアプリのことを知らないの?

>>212-213
具体的にはどこか言える?
まさか global_register じゃないよね?


215 :nobodyさん:05/02/20 22:31:37 ID:???
>>214
PEARは標準クラスライブラリという触れ込みだったはずだが。

global_registerは影響のない変更ということにしたいわけですね。
使ってるやつが悪いと。ふーん。
4.2.2から、Content-type指定したときの挙動が変わった。
4.3.0から=演算子の挙動が変わったしね。

なんか、必死ですね。

216 :nobodyさん:05/02/20 23:39:53 ID:???
>>215
いいえ。CPAN 同様、拡張ライブラリです。
ttp://pear.php.net/manual/en/introduction.php
PEAR is short for "PHP Extension and Application Repository"

global_register の問題は PHP3 の時から言われていたことです。一体何年前の話ですか?
使っている奴が悪くないとでも?それに問題を理解しているなら extract(); と書くだけです。

Content-type は php.ini のデフォルトの設定が変っただけでしょう?
= 演算子が === のことを言っているのであれば
まともなコーディングしていれば何の影響もないはずですが?
少なくとも XOOPS、SquirrelMail, phpMyAdmin は PHP4.1.x 時代の
古いバージョンを PHP4.3.x に上げてもそのまま動きますが。
実際問題として >>215 の指摘した内容で変更しないといけないアプリって何かありましたか。
例えば sf.net に挙がっているような奴で。

言語のバージョンアップで仕様変更があるのは当然です。
>>205 にも書きましたが、Perl 4→5、Java1.1,1.3,1.4,VB→VB.NET に
比べれば PHP4 から 5 への変更はないに等しい、と言っているんですが。

PHP5 のクラスは機械的変換でそのまま動くのに何か問題でもあったの?
それに PHP4 互換モードまで用意されているのですが。

217 :nobodyさん:05/02/21 00:10:06 ID:???
>>216
> Content-type は php.ini のデフォルトの設定が変っただけでしょう?

Content-typeを指定するとエンコーディングの変換が効かなくなったバージョンがある。

ま、古いコードが動かなくなった変更点はそれを使ってるやつが悪いってことにすれば、言語仕様の変更はないに等しいといえることはわかった。
なかなか都合のいい論理展開だな。勉強になったよ。

218 :nobodyさん:05/02/21 00:13:08 ID:???
global_registerの設定が有効になってるのが前提の情報が広まってた状況を無視して、「使ってたやつが悪い」ですか。
おめでたいやつですね。

219 :nobodyさん:05/02/21 00:15:06 ID:???
> 少なくとも XOOPS、SquirrelMail, phpMyAdmin は PHP4.1.x 時の
> 古いバージョンを PHP4.3.x に上げてもそのまま動きますが。

そんな例持ち出すなら、Java1.1時代のバイトコードでJ2SE5で動くソフトは普通にたくさんあるわけだが。

220 :nobodyさん:05/02/21 00:17:54 ID:???
で、PEARが動かなくなったことは問題ではないわけだな。
標準ライブラリ的なプロモーションしておきながら、お荷物になれば標準じゃないですよ、か。
ところで、標準クラスライブラリは何になるの?

224 :nobodyさん:05/02/21 02:14:03 ID:???
俺は PHP 使いでもないし PEAR も使ったことがないのでよくわからんが、
Perl が 5.6 から 5.8 になったら CPAN のモジュールが動かなくなった、
みたいなことを想像すると「それはまずいんじゃない?」と思うな…

225 :nobodyさん:05/02/21 02:14:34 ID:???
>いいえ。CPAN 同様、拡張ライブラリです。
おいおい、一緒にすんなって。
規模がちげーっつーの。

226 :nobodyさん:05/02/21 02:29:08 ID:???
>>224
Perl4→Perl5なら動かなくてもかまわないんじゃないの?といいたいのではないかと。

227 :nobodyさん:05/02/21 09:12:58 ID:???
>>217
それはバグであって仕様変更ではないよね?
また、そのバグは何日で修正されましたか?
>>218
今でも global_register ON がいいの?
あと、普通程度の頭があれば global_register の危険性はすごに分かるよね?
PHP3 の時から危険性が指摘されていたんだよ?何年前の話?
>>219
この例は >>213 の嘘を指摘するためです。
>>220
PEAR のページを見ろよ。>>216 のリンク先とかさ。
標準ライブラリは
ttp://jp.php.net/manual/ja/
でコンパイル・オプションで選ぶだけで最初から組み込まれている奴だよ。
PEAR を使わない/知らないお前が何を問題にしているの?
>>224
Perl4 と Perl5 は?Perl5 と Perl6 は?
ここでの話は PHP4 と PHP5 の話だよ?
>>225
標準か拡張かの話であって規模の話ではないよね?

230 :nobodyさん:05/02/21 15:32:40 ID:???
>>227
> それはバグであって仕様変更ではないよね?

仕様変更。
日本側からの働きかけで、そのあとtext/*のときはエンコードの指定が効くようになった。

234 :230:05/02/21 15:45:46 ID:???
ちなみに、content-typeの仕様変更は4.2.2からで、4.2.1で見つかったセキュリティーホールに対策するためのリリース。
そのあとの4.2.3でも日本語関係バグバグ。
で、4.3.0からは=演算子の挙動が変わっている。
つまり、4.2.1のセキュリティーホールを挙動を変えずにふさぐバージョンはリリースされなかったってことだ。

PHPの仕様変更の不安定さというのは、そういうこと。

237 :224:05/02/21 18:51:18 ID:???
>>226-227
なるほど、確かにそうですね。
Perl4 の時には CPAN なんてなかった (で合ってる?) し、
Perl6 になったら Perl5 との互換性はすっぱり無くなるっぽいし、同じか。
困るってことには変わらないですけど…

238 :nobodyさん:05/02/21 19:55:33 ID:???
>>234
どんな言語でもバグや仕様変更あるので
細かな例を出しても何の意味もないです。
# 例えば Java であれば j-h でセキュリティの未修正や仕様変更で
# 何度も高木氏がポストしたことは古参 Java ユーザなら周知の通り。

それに、過去の例から PHP5.x が不安定である、
という論は無理です。

>>237
Perl4 中盤あたり?から CPAN ありましたよ。


239 :nobodyさん:05/02/21 22:24:16 ID:???
>>238
バグや仕様変更はあるが、セキュリティーパッチで仕様が変わることは、他の処理系では少ない。
というか、普通はない。

そういう過去の例があるから、PHP5も信用できない。
PHPが信用できないのは、セキュリティーパッチやバグフィックスで他の仕様が変わってきたから。
で、その仕様変更のポリシーが変わったという話は聞かない。

240 :nobodyさん:05/02/22 09:31:43 ID:???
>>239
その「仕様が変わったセキュリティーパッチ」で動かなくなった有名なアプリって何?

245 :nobodyさん:05/02/22 18:19:49 ID:???
>>240
なんで、有名アプリである必要があるのかわからんが、EZWeb対応のアプリは動かなくなったはずだ。

ただ、この場合、問題なのは、セキュリティーパッチで他の仕様を変えるというそれ自体がセキュリティーホールであるということだ。

246 :nobodyさん:05/02/22 18:28:32 ID:???
>>245
捏造情報じゃないことの証明がほしいです。ソースありますか。

248 :nobodyさん:05/02/22 18:46:00 ID:???
>>245
私は煽りでも何でもなく後学のためにも有名じゃなくていいので
仕様変更によって動かなくなった具体例が知りたいです。

例えば Pukiwiki, XOOPS, phpBB, SquirrelMail, phpMyAdmin,
各種 blog は仕様変更で動かなくなったのですか?

あと、「この場合、問題なのは…」は >>239 とは違う話?
>>239 の仕様変更で動かなくなったものはありますか?

それと >>245 の詳しい話が知りたいです。

253 :nobodyさん:05/02/22 19:05:38 ID:???
ウチで作ったEZWeb対応のやつは、それで動かなくなったなぁ。
セキュリティーホールってことでアップデートしたら、動かなくなってた。
で、結局元に戻した。
text/hdmlなら日本語変換が動くようになった4.3には他の変更があったから採用見送り。
それ以来、長く動かすシステムをPHPで組むのはやめた。

254 :nobodyさん:05/02/22 19:19:35 ID:???
別に自分は有名じゃなくていいですよ。
EZWeb 系が全滅だったら大問題なのに
ML やニュース、2ch の PHP スレで騒がれてないね。
解決策は PHP4.2 に戻すだけなんですか?

>>253
何で作ることにしたんですか?

256 :nobodyさん:05/02/22 20:28:34 ID:???
>>254
> ML やニュース、2ch の PHP スレで騒がれてないね。

MLを見てないのか?

> 解決策は PHP4.2 に戻すだけなんですか?

コードを変えずに解決するには、セキュリティーホールの影響に注意しつつPHP4.2.1に戻すしかなかった。
設定でどうこうできるものではない。

257 :nobodyさん:05/02/22 21:02:02 ID:???
>>256
ML 見逃したかも。いつくらいの話題?あとキーワードとか。探してみる。

この問題が知りたい理由は >>248 で書いたアプリを参考に
4.3 でグループウェアもどきを作ったんです。それに影響あるか知りたい。
一体どういう問題なんですか?
不思議なのは >>248 のアプリは 4.3 で問題なく動いてますよね。
あと、4.3 で動いているサーバがほとんどですよね。
なぜ EZWeb 系以外の他の PHP アプリは全滅しないの?

258 :nobodyさん:05/02/22 22:13:13 ID:???
>>257
4.3で動いてるならいいんじゃねぇの?
4.3ではtext/*はちゃんと日本語変換効くようになったんだし。

> ML 見逃したかも。いつくらいの話題?

しらん。4.2.2が出た頃の話題。
HDML出力してる人はそれほど多くないし、祭りになってるわけではないが。

> 不思議なのは >>248 のアプリは 4.3 で問題なく動いてますよね。

すでに4.3が出てかなりの時間がたってて、なにを不思議がってるのやら。

> なぜ EZWeb 系以外の他の PHP アプリは全滅しないの?

お前、問題の意味全然わかってないだろ。

259 :nobodyさん:05/02/22 23:10:28 ID:???
>>258
EZWeb のことは指摘通り全然分かってないです。
というかこのスレに書かれた内容では分かりようがないです。
誰かこの件についてのページを紹介してくれませんか?
でも要は EZWeb の件は 2002 年の 4.2.2 の話で 4.2.3 以降では解決済?

1 からこのスレを読んだ限り、PHP の言語仕様が不安定さを示す具体例は
この EZWeb だけです。もしそうなら PHP は他の言語と比べると異常に安定しすぎです。
そんなことはないと思うので、そのほかに PHP の問題があるなら純粋に知りたいです。

PHP が不安定だと主張する人はどの言語を使っているかも知りたいです。

260 :nobodyさん:05/02/23 05:02:30 ID:???
>>259
は?
セキュリティホールがあったのが4.2.1
content-typeを出力するコード書いたら日本語変換されなくなるのが4.2.2
EZWeb用でHDML吐くときはtext/hdmlを出力する必要があるからEZWeb用は日本語変換されなくなる。
text/*なら日本語変換されるようになったのは4.2.3か4.3.0かわからんがそこらへん。
4.2.3には日本語関係のバグが多い。

言語仕様でいうなら、Javaは1.1と5.0で大幅に変わった以外はほとんど安定で、古いコードの動きがかわらないように注意が払われてるのだが。

で、問題にしてるのは、セキュリティーパッチで仕様が変わったってこと。
セキュリティーホールがみつかっても、バージョンアップできない。
そんな処理系、PHPくらいしかしらない。

272 :nobodyさん:05/02/23 11:36:24 ID:???
> 99.999999% 大丈夫な仕様変更

これは、日本語対応HDMLのサイトが0.000001%しかなかったってこと?
ま、これこそ根拠レスの煽りだな。

で、=演算子の仕様変更に関してはスルーしてるんだな。

273 :nobodyさん:05/02/23 11:39:53 ID:???
しかし、PHPの仕様変更の考え方をうまく反映してるよなぁ。
自分のまわりの99.999999%が大丈夫ならいいだろ、みたいな。
日本語使ってるやつなんか自分のまわりに0.000001%もいないから関係ないだろ、みたいなね。

274 :nobodyさん:05/02/23 11:41:54 ID:???
あと、結果論で、こういうコーディングしてれば大丈夫だったはずだから、そういうコーディングしてるのが悪いってね。
結果論ならなんだっていえるな。

275 :nobodyさん:05/02/23 11:52:42 ID:???
>>272
EZWeb 以外の実害はなかったからね。
煽れば必死になって他の具体例を挙げてくれるかと思って。
なので数字はお好きな値をどうぞ。

= 演算子で実害が出た実例の件はどうなりましたか?

>>273
269 で書いたけれど 100% 互換を保証している言語はありませんよね。
それついてはどう思いますか?

>>274
結果論の話をしたつもりも、するつもりもありません。

ただ、3 年前にこうだったから、という結果論に
終始していて建設的な話ができないのは残念です。


282 :nobodyさん:05/02/24 05:25:22 ID:???
>>275
なんでわざわざ実害ださなきゃいけないんだよ。
4.3で=演算子の挙動が変わってるから、バージョンアップすらしない。
動いてるシステムで、実害が出る可能性が高いバージョンアップするわきゃないだろ。

320 :nobodyさん:05/03/13 22:05:30 ID:???
318 のドキュメントを読んで
319 の質問をしてくる人に
何て書けば理解してくれるのだろうか

341 :nobodyさん:2005/03/29(火) 09:38:01 ID:???
別ポートで Apache を起動してる

343 :nobodyさん:2005/03/29(火) 12:37:13 ID:???
>>341
php.iniはどうしてる
俺はWindowsで再コンパイルがめんどいのでバイナリエディタでファイル名らしき所をph5.iniに無理やり変えてるけど

523 :nobodyさん:2005/04/17(日) 17:49:01 ID:T6yAigWO
そんな事までしなきゃ5って使えないよね、しかも素人が使うフリ―スクリプトには使えない物続出だろうな

524 :nobodyさん:2005/04/17(日) 17:52:07 ID:???
>>523
素人が使うようなフリースクリプトなんて、ほとんどPHP5でも動くぞ。
何せ、難しい事してないからな。
構造やらソースは物凄くシンプル。

企業で書くような大規模で再利用性を考えたプログラムの方が動かない。


566 :nobodyさん:2005/04/18(月) 12:30:04 ID:???
phpのいい点は、Cライクで文法を最初からおぼえ直したりすることなく、
すんなりと導入できるところだ。

568 :nobodyさん:2005/04/18(月) 16:01:40 ID:???
>>566
それを言うなら、PerlもRubyもJavaも、ほとんどCライクっていえる。
PHPは迅速に開発にとりかかれるけど、始まった開発は迅速には進まない。

642 :nobodyさん:2005/04/21(木) 22:09:41 ID:???
つうか、PHPをCGIで動かすならPHP4とPHP5は共存出来るんだし、
何を問題にしてるんだ?

実際、某鯖ではPHP4とPHP5はどっちでもつかえるしな。

644 :nobodyさん:2005/04/21(木) 22:44:37 ID:???
>>642
>つうか、PHPをCGIで動かすならPHP4とPHP5は共存出来るんだし、
>何を問題にしてるんだ?
PHP5でPHP4のコードのすべてが動くわけではない。
だからPHP5への移行に踏み切れない。それが問題だろ。

713 :nobodyさん:2005/04/24(日) 21:17:12 ID:???
Javaはいちいちコンパイル&デプロイするの面倒だしな。


714 :nobodyさん:2005/04/24(日) 22:00:20 ID:???
面倒ならAntで自動化すればいいだけじゃない?
まともな開発環境なら、開発時はコンパイルとかデプロイとか意識する必要ないし。

717 :713:2005/04/24(日) 22:21:00 ID:???
>>714
当然AntもXDocletも使ってるけど、「コンパイルとかデプロイとか意識する必要はない」と
「コンパイルやデプロイが必要ない」ってのは大きな違いですよ。



721 :nobodyさん:2005/04/24(日) 23:50:08 ID:???
>>717
XDocletはコンパイルやデプロイには関係ないと思うが・・・
で、コンパイルとかデプロイとか意識する必要ないまともな開発環境は使ってるの?
コンパイルやデプロイが必要ないのと大きな違いは無いと思うけど。
デプロイに関しては、開発時にローカルでやる分には基本的に必要ないわけで。

785 :nobodyさん:2005/08/05(金) 19:22:12 ID:???
エンバグも多いし、change_log読んで
「仕様変更がありました」
って書かれてて問題ないわけない。

786 :nobodyさん:2005/08/05(金) 19:28:57 ID:???
>>785
考え方の違い。

『仕様変更ありました』と書かれていたら、今現在のシステムなりに影響があるかを考える。
影響があるなら、セキュリティなどの深刻な問題があったかを更に調べ、
特に問題がなかったり、PHPの書き方とかで回避できるのであれば、バージョンアップを見送る。

だから、そんなに問題になる訳が無い。


http://hibari.2ch.net/test/read.cgi/php/1018597325/l50人気ブログランキングへ
学ばないブログ
忍者AdMax
記事検索
最新コメント
QRコード
QRコード
  • ライブドアブログ