【PHP】下らねぇ質問はID出して書き込みやがれ 84
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/04/27(月) 21:39:11ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 83
http://pc11.2ch.net/test/read.cgi/php/1238958898/
◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0444436
2009/05/19(火) 16:08:44ID:oPaIAAk+ほんとに理解不足ですみません
ディレクトリは644 .phpを755ってことでしょうか
0445nobodyさん
2009/05/19(火) 16:20:44ID:???ディレクトリは755だよ。それよりrootが持ち主だけどApacheはroot以外のユーザーで動いてるでしょ?
0446436
2009/05/19(火) 16:45:26ID:oPaIAAk+Apacheのユーザ設定は考えていなかったのでrootで動いてるんじゃないかと思います
このサイトにあるようにpublic_htmlを設定するってことでしょうか?
http://httpd.apache.org/docs/2.0/ja/howto/public_html.html
とりあえず、755にしたら先ほど書いたエラーは出なくなりました
権限など勉強し直します。ありがとうございました
0447nobodyさん
2009/05/19(火) 17:38:02ID:???ipが取得されてしまいました
どのようにして携帯端末情報を取得するのでしょうか?
0448447
2009/05/19(火) 17:38:47ID:CIWntjhX失礼いたしました
0449nobodyさん
2009/05/19(火) 17:40:51ID:???$_SERVER['REMOTE_ADDR']自体IPを取得するものじゃねーか
何この釣り
0450nobodyさん
2009/05/19(火) 17:41:43ID:???たとえばApacheなら、httpd.confでHostnameLookups Onになっていないと
名前でなくアドレスが入る。ちなみにHostnameLookups Offがデフォルトだったかと。
0451nobodyさん
2009/05/19(火) 17:42:58ID:???多分間違ったんだろうけど
'REMOTE_HOST'だなw
0452nobodyさん
2009/05/19(火) 23:14:08ID:???PHP
MySQL
ポストグレス
javascript
ajax
xml
json
csv
tsv
これだけできるんだ。なんだ、
なんでもできるんじゃん。
0453nobodyさん
2009/05/19(火) 23:47:23ID:oPaIAAk+ファイルの読み込みについて質問です。
include_pathをdocumentRootの外に設定したくて、php.iniに
open_basedir =/var/www としましたが /var/www/hoge/include.phpを
/var/www/html/index.phpが読み込んでくれません。
調べたら、httpd.confでも open_basedirを設定できるということで、
そっちで禁止されてるのかと確認したんですが open_basedir という文言じたいhttpd.confに
ありません。
何が原因かわかるでしょうか?
設定するファイルは以下で間違いないですよね?
php.ini は、 /etc/php.ini
httpd.conf は、 /etc/httpd/conf/httpd.conf
あと、/var/www/html/include.phpを読み込むのは成功しています
0455nobodyさん
2009/05/20(水) 00:20:28ID:???include_pathの設定の変更は、php.iniのその名の通り「include_path」を設定するんじゃないか?
0456nobodyさん
2009/05/20(水) 00:46:36ID:jL/vKg9aどうもです
>「include_path」を設定するんじゃないか?
その通りなんですが、このinclude_pathで設定したパスが open_basedirで設定したパスより
上にあると、それは除外されちゃうらしいんです。
なので、open_basedirをinclude_pathで指定したパスを含むように変更したんですがダメダメで…
参ったなぁ
0458453,456
2009/05/20(水) 00:58:36ID:jL/vKg9ainclude_pathがopen_basedirの中に含まれてるのに読み込まないのを
読み込むようにしたいんです。
どこに原因があるのかと。php.ini以外に設定するファイルがあるのかなとか。
>php.ini は、 /etc/php.ini
>httpd.conf は、 /etc/httpd/conf/httpd.conf
これは間違ってないんでしょうか? linuxは不慣れで、
操作してるファイル自体勘違いしてないか知りたいです
0460nobodyさん
2009/05/20(水) 01:03:24ID:???apacheの再起動は当然してるよね。
設定ファイルの場所とかはインストールした環境によるからどこってのは無いと思うけど、
php.iniとhttpd.confは、とりあえず適当にエラー出しそうな値に書き換えてみたら
とりあえずいじってるファイルがあってるかどうかわかるんじゃない?
それこそ、php.iniでinclude_pathをいくつか追加してみて、ini_getで呼んでみて
値が変更されてたらOKなわけですし。
0461453,456
2009/05/20(水) 01:10:36ID:jL/vKg9axamppってwindows用ですよね? linuxでもあったかな
>>460
apacheの再起動は
/etc/rc.d/init.d/httpd restart ですよね? やってます
>php.iniとhttpd.confは、とりあえず適当にエラー出しそうな値に書き換えてみたら
>とりあえずいじってるファイルがあってるかどうかわかるんじゃない?
たしかに! 試してみますね。ありがとう
0462nobodyさん
2009/05/20(水) 08:32:38ID:???ホスト名がほしいんか?端末そのものの情報か?
前者なら$_SERVER["REMOTE_HOST"]でいいけど。
ブラウザやOS情報なんかほしいんなら$_SERVER["HTTP_USER_AGENT"]も必要だな。
0464nobodyさん
2009/05/20(水) 11:04:48ID:???0466nobodyさん
2009/05/20(水) 11:07:37ID:???REMOTE_ADDRでそれを取得しようとする間抜けなんて存在するとは思わないもんな
0467nobodyさん
2009/05/20(水) 11:08:26ID:???0468nobodyさん
2009/05/20(水) 11:09:38ID:???0469nobodyさん
2009/05/20(水) 11:16:30ID:???0471nobodyさん
2009/05/20(水) 11:49:28ID:???今日来たメールだと
>【iモード技術情報】 マイニュース/マイリンク関連情報掲載のお知らせ
とかが来るようなとこね。
0472nobodyさん
2009/05/20(水) 11:50:25ID:???0474nobodyさん
2009/05/20(水) 12:09:08ID:???答えが分かった途端に調子にのるww
ちなみに回答側のやつらは殆ど某ライブラリ経由で端末情報取得してるよ。
シコシコ$_SERVERとか書いてろwww
0475nobodyさん
2009/05/20(水) 12:10:55ID:???0478nobodyさん
2009/05/20(水) 12:53:50ID:???0479nobodyさん
2009/05/20(水) 13:17:30ID:???0480nobodyさん
2009/05/20(水) 14:54:14ID:FO/+N7r75.1.6の時と比べて、負荷に弱くなったというか反応が重たくなりました。
設定は何も変更していないのですが、5.2.9は重たいのでしょうか?
反応を軽くするようなセッティングはなにかありませんか?
0481nobodyさん
2009/05/20(水) 15:33:13ID:???それかドコモ先生の登場をしばらくお待ちください
0482453,456
2009/05/20(水) 16:07:58ID:jL/vKg9a以下のようになっています。
設定1)open_basedir no value no value
設定2)open_basedir / /
これはそれぞれlinux上のどのディレクトリにもinclude_pathのパスを指定できると
いう意味だと考えて良いのでしょうか?
実際にはどちらを設定していても、/var/www/html以下へのinclude_pathの指定しか
受け付けられず参っています
phpinfo()で表示される情報よりも優先される設定がプログラム中の直接指定以外あるんでしょうか?
0485nobodyさん
2009/05/20(水) 16:54:07ID:???apache/logs/error.log だよ
0486nobodyさん
2009/05/20(水) 17:28:27ID:???0487nobodyさん
2009/05/20(水) 17:30:25ID:FO/+N7r7はい、PHPを入れ直した後、eAcceleratorも再インストールしました。
PHPのバージョンアップ後、PHPのページだけ、アクセスが増加する時間帯になると重たくなると言われたので
もしかしたら5.2.9は評判がよくないのか、なんて思ったりしたのですが・・・
0488nobodyさん
2009/05/20(水) 17:52:11ID:mk8mjF0luser@docomo.ne.jpとしてMySQLにインサートし、その後ブラウザに表示
させるような事はPHPで可能でしょうか?
user、docomo.ne.jpをそれぞれテキストボックスでsubmitしてインサートした
後に表示させる事はできたんですけど・・。
0489nobodyさん
2009/05/20(水) 18:01:08ID:???何だろうなぁ。5.2.9が重いとは聞いたことないが・・。
>>488
出来る。
<input type="text" name="host" value="">@
<select name="domain">
<option value="docomo.ne.jp">docomo.ne.jp</option>
</select>
あとは分かるな?
0490nobodyさん
2009/05/20(水) 18:15:43ID:mk8mjF0lあ、出来た。有難う御座います。
、というかなぜこんな事で2時間唸ってたんだと思うと恥ずかしくなりました。
0491nobodyさん
2009/05/20(水) 23:11:32ID:???PHPやeAccの性能問題のほかに、PHP側の仕様変更/バグ修正によってコードに何らかの不具合が生まれた可能性もある。
俺なら実行時間のプロファイルを、いったんeAccを外した状態で取る。
人間が体感できるほどの差なら、5.2.6で検証するまでもなく、5.2.9の実行結果で明らかに時間のかかってる処理が見つかると思う。
0492nobodyさん
2009/05/20(水) 23:25:46ID:???とりあえず、考え方を変えて、
httpd.confのDirectoryをさ
例えば、
/var/www/htdocs
としてやって、htmlやPHPのルートを設定するじゃない。
んで、/var/www/libとか適当なディレクトリを作ってやって、
そこにincludeしたいライブラリとかを設置してやって
ついでに、phpのinclude_pathに、/var/www/libを設定してやるっていうのだと
ダメなの?
0493nobodyさん
2009/05/21(木) 00:18:09ID:M2R0F+Clこの写真に写っている果物は何ですか?
芸能人のブログの一部のものなのですが、
何の果物を撮ったか書いていないので分かりません。
ご教示お願いします。
http://stat.ameba.jp/user_images/20090520/15/hoshino-mari/7f/22/j/o0640048010183731596.jpg
0494nobodyさん
2009/05/21(木) 00:19:32ID:M2R0F+Cl申し訳ありませんが、URLをコピーしてからアクセスして頂けませんでしょうか?
たびたびすみません。
ちなみに、本ページは、ここです。
http://ameblo.jp/hoshino-mari/
0495453,456
2009/05/21(木) 00:26:29ID:dWSTP/J8レス遅れてすみません
エラーログは以下です
[Wed May 20 07:40:28 2009] [error] [client 192.168.0.7] PHP Warning: include(config.inc.php)
[<a href='function.include'>function.include</a>]: failed to open stream:
No such file or directory in /var/www/html/hoge.php on line 2
[Wed May 20 07:40:28 2009] [error] [client 192.168.0.7] PHP Warning: include() [<a href='function.include'>function.include</a>]
: Failed opening 'config.inc.php' for inclusion (include_path='.:/php/includes:/usr/lib/php/pear:/var/www/php_libs:
/var/www/php_libs/Smarty/libs:/var/www/php_libs/config:/var/www/html:/var/www/html/test12345')
in /var/www/html/hoge.php on line 2
動かしてるhoge.phpは以下です
<?php
include(config.inc.php);
echo _HOGE_VAR;//inc.phpで定義されてる定数
?>
config.inc.phpを/var/www/html/test12345に置いたら動いて
/var/www/php_libs/configに置いたら動きません(上のエラーが出ます
/www関連のファイルは
/var/www/php_libs/config/config.inc.php と
/var/www/html/hoge.php しか存在していない状況でテストしてるんですがエラーが出てしまいます
0496nobodyさん
2009/05/21(木) 00:30:25ID:???0498nobodyさん
2009/05/21(木) 01:06:13ID:???0499453,456
2009/05/21(木) 01:17:40ID:dWSTP/J8ありがとうございます。それを今試してみましたが、ダメでした
hoge.phpと同一ディレクトリにあるconfig.inc.phpを読み込むという意味でいいでしょうか?
実際にconfig.inc.phpがあるのは別のディレクトリです (/var/www/php_libs/config/config.inc.php)
>>497
読み込みに失敗したってことですよね?
Failed opening 'config.inc.php' for inclusion… はインクルードの設定のパスの中では
config.inc.phpは読み込めなかったって意味で、つまり指定したパスのなかに含まれてないということですよね?
実際にはあるんです…(/var/www/php_libs/config/config.inc.php)
./htmlよりも上位のパスでのphpの配置を許さない、プログラムを動かさないという指定がlinuxにはあるんでしょうか?
0500453,456
2009/05/21(木) 01:50:13ID:???対象のパスに含まれるディレクトリの権限設定が間違ってました
しょうもない理由でしたが勉強になりました 本当にありがとう
0501nobodyさん
2009/05/21(木) 01:51:10ID:???config.inc.phpを/var/www/html/test12345に置いたら動いて
/var/www/php_libs/configに置いたら動きません(上のエラーが出ます
この二つのディレクトリ、もしくはその配下に作られたファイルの
アクセス権限に違いはない?
0502501
2009/05/21(木) 01:53:51ID:???0503453,456
2009/05/21(木) 02:10:17ID:???ほんとすみませんw でも助かりました
ファイルそのもののアクセス権限しか見てなかったです
ありがとうございます!
0504nobodyさん
2009/05/21(木) 19:00:49ID:M2R0F+Clスレ違いで申し訳ないのですが、何とかご回答頂けないでしょうか?
前の席のものが気になってしょうがないと言っていて、私の方もちょっと困っています。
0505nobodyさん
2009/05/21(木) 20:24:56ID:???0506nobodyさん
2009/05/21(木) 20:49:40ID:M2R0F+Clレスがつかないので心配していました。
すみません。その園芸板ってどこでしょうか?
そこの方が適切であれば、そちらでお聞きしたいと思います。
0507nobodyさん
2009/05/21(木) 20:55:56ID:M2R0F+Clページの写真が変わってしまいました。大変失礼しました。
こちらのページに貼ってある写真にある果物の名前です。
甘酸っぱくて美味しいって書いてあるけど、名前が書いていない・・・。
http://ameblo.jp/hoshino-mari/page-2.html#main
0508nobodyさん
2009/05/21(木) 21:19:39ID:3E8Yd+C8ログイン機能
記事編集
画像アップロード
必要なPEARはなんでしょうか?
0509nobodyさん
2009/05/21(木) 21:37:18ID:???その単位でpearを探すのは大変。(いっぱいある)
それぞれについてどんな機能が欲しいかを決めてからのほうがいいよ。
0511nobodyさん
2009/05/21(木) 21:50:04ID:???勉強目的なら自作でやってみ 仕事ならZF
0513nobodyさん
2009/05/21(木) 22:24:42ID:A/e/PAptAuth ,HTMLQuickform, peager, pearDB2, かなぁ・・・
これにSmartyをつかってぐぐっと大人っぽくなるかも(~'.'~)
0514nobodyさん
2009/05/21(木) 23:09:31ID:3E8Yd+C8皆さんありがとうございます。
勉強目的なので自分で作ってみます!
またよろしくお願いします
0515nobodyさん
2009/05/22(金) 03:02:07ID:???http://ex14.vip2ch.com/test/read.cgi/part4vip/1240398459/
0516nobodyさん
2009/05/22(金) 03:20:16ID:f6PVhhZ1指定する事はPHP単体で可能ですか?イメージとしては買い物サイトなどの決済処理で
少し砂時計が回る間を待つような感じで。
0517nobodyさん
2009/05/22(金) 03:26:03ID:???0518nobodyさん
2009/05/22(金) 03:31:10ID:f6PVhhZ1超即レス有り難うございます。。こんな関数もあったんですね。
ぐぐったんだけどワードが悪かったのかなかなか見当たらなかった。
早速試したところうまくいきました。
0519488
2009/05/22(金) 10:46:02ID:9hIwxjrZ<?php
extract($_POST);
echo "
<form action =\"0.php\" method=\"post\">
<input type = \"text\" name = \"host\" size = \"20\">@
<select name =\"dimain\">
<option value=\"docomo.ne.jp\">docomo.ne.jp</option></select>
<input type = \"submit\" value = \"送信\">
</form>";
$meruado = "$host@$domain";//★変数$meruadoは user@docomo.ne.jp のような形式にする★
if($host == null){//★テキストボックスがnullならメッセ出して処理中断★
echo "入力してください";
exit();}
if($host <>''){//空じゃなければ実行
mysql_connect('xxx','xxx','xxx');
mysql_select_db('xxx');
$sql = "select * from xxx where xxx = '$meruado'";//登録済かどうかチェック
$result = mysql_query($sql);
$rows = mysql_num_rows($result);
if($rows == 0){//登録済でなければ処理開始
session_start();
$_SESSION['test01']=$meruado;
echo "$meruadoは登録可能です<br>";
echo "$meruadoを登録しますか?<a href=\"./1.php\">登録する</a>";//クリックで1.php(DB登録)へ
}else{//登録済ならメッセ出して処理中断
echo "$meruadoは登録済みです";
}}?>
0520488
2009/05/22(金) 10:47:28ID:9hIwxjrZ<?php
session_start();
$meruado = $_SESSION['test01'];
〜SQLコネクト中略〜//INSERT文
header("Location: ./0.php");
session_unset();?>
------------------------------------------------------------------------------------------
488ですが、追加でお尋ねしたい事があります。
一応の動作はちゃんとしているようですがUndefined variableが以下のようにソースに★を
つけた箇所で発生します。
Undefined variable: host in 0.php on line 18
Undefined variable: domain in 0.php on line 18
Undefined variable: host in 0.php on line 19
php.iniに手を加えて隠す事は都合が悪いので、できればソースを見直したいのですが
このような場合はどのように書けば発生しないのでしょうか?
環境は Fedora 8 Apache2.2 php5.16 Mysql5 です。
色んなHPを参考に拙い知識で書きましたので、ソースはおかしいですがよろしくお願いします。
0521軟式PHP
2009/05/22(金) 10:56:24ID:???癖になる前にこれはやめれ。
register_global onと同じくセキュリティがザルになるぞ。
あとUndefinedは変数が定義されていないのに使ってるからだ。
$host = "";またはvar $host = "";とかで宣言してから使え。
0522nobodyさん
2009/05/22(金) 10:58:06ID:???0524488
2009/05/22(金) 11:07:58ID:9hIwxjrZ$host = "";で解決しました。
>癖になる前にこれはやめれ
ご指摘ありがとうございます。確かにセキュリティ上良くない事は色んなHPで
よく書いてましたから、ある程度理解してはいましたが、今の知識じゃサンプル
からソースを弄って書くのが精一杯でしたがこれを機会に癖になる前に治します。
0525nobodyさん
2009/05/22(金) 18:38:53ID:JSavhF6R内容は、mb_strlen()でフォームの文字数をカウントするものです。
あいうえお なら 10文字で数えられていたんですが、今回LINUXの環境で動かしてみたら15文字とカウントされました。
どうして? UTF8でカウントされたってことでしょうか?
この場合、どこの文字コードを変更したら良いんでしょうか。最終的には、ブラウザにはUTF8で出力したいと思っています。
0526525
2009/05/22(金) 18:40:41ID:JSavhF6Rhttpd.conf も php.iniも Windowsの設定を引き継いだので、どうしてこうなったのかわかりません
0527525
2009/05/22(金) 19:08:17ID:???質問自体かなり変なこと書いていました、失礼しました
0528nobodyさん
2009/05/22(金) 19:28:51ID:???0529nobodyさん
2009/05/22(金) 20:10:49ID:z1xOHJCG全く何も返してもらえません。
SQLiteのバージョンは3、PHPは5.2.6でWindows環境のphp.exeを使用しています。
接続もクエリ送信もできるのになぜか帰ってきません。
どなたか分かる方回答or誘導をよろしくお願いします。
try {
$dbh = new PDO('sqlite:../wn.db','', '');
} catch (PDOException $exception){
echo "MAKEING PDO:";
echo $exception->getMessage();
echo "\n";
exit();
}
$query = "select * from sqlite_master;";
$stmt = $dbh->prepare($query);
$stmt->execute();
$cols = array();
while ($cols = $stmt->fetch(PDO_FETCH_ASSOC)) {
var_dump($cols);
}
echo "Completed \n";
実行結果:
R:\>php sqlite.php
Completed
0530nobodyさん
2009/05/22(金) 20:27:01ID:???0531nobodyさん
2009/05/22(金) 20:27:37ID:???$dbh = new PDO('sqlite:../wn.db','', '');
$query = "select * from sqlite_master;";
$stmt = $dbh->prepare($query);
$stmt->execute();
$cols = array();
while ($cols = $stmt->fetch(PDO_FETCH_ASSOC)) {
var_dump($cols);
}
} catch (PDOException $exception){
echo "MAKEING PDO:";
echo $exception->getMessage();
echo "\n";
exit();
}
にすればいいんじゃね?
0532nobodyさん
2009/05/22(金) 20:30:49ID:???セミコロンの有無は関係ないみたいです・・・
>>531
catchでエラーは出ませんでした・・・。
.dbファイルもちゃんと存在しますし、おかしくならないはずなんですけど。。
どうでもいいですがMAKEINGって酷いですねorz
0534nobodyさん
2009/05/22(金) 20:45:19ID:???何も出力されませんでした。
多分tryの中にエラーが無かったからだと思います。
ttp://selfkleptomaniac.org/archives/1083
ここにphpでwordnetを使用するソースがあったので試したところ、
ブログにある例のような出力結果が得られなかったので、原因はPHPではsqliteかdbにありそうです。
のでそちらを当たってみます。。
0535nobodyさん
2009/05/22(金) 20:48:20ID:???0536nobodyさん
2009/05/22(金) 20:57:16ID:???0537nobodyさん
2009/05/22(金) 21:07:52ID:???PDOはデフォルトだとエラー吐かないのでエラーモードの設定を。
$dbh = new PDO('sqlite:../wn.db',null,null,array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
ついでにPDOStatementオブジェクトはforeachで回せるよ。
0538nobodyさん
2009/05/22(金) 22:03:57ID:???だから空ってことはないと思うのですが。。。
>>537
の通りエラーモードを設定した後、わざとdbのパスを間違えて指定しても、エラーが何も出ませんでした。
こんなことってあるんですかね?
0539529
2009/05/22(金) 22:17:48ID:???勘違い申し訳ないです。
0540nobodyさん
2009/05/22(金) 22:26:34ID:???0541nobodyさん
2009/05/22(金) 22:43:22ID:???0542529
2009/05/22(金) 22:46:58ID:???どうしてか分かりませんが、Webのコードを鵜呑みにコピペすると酷い目に遭いますね・・・orz
以上解決です。ありがとうございました。
0543nobodyさん
2009/05/22(金) 23:00:03ID:???もうみてないとおもうけど
PDO_FETCH_ASSOC
ではなくて
PDO::FETCH_ASSOC
だな。
PDOのconst。
■ このスレッドは過去ログ倉庫に格納されています