【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等)・フレームワークは各該当スレへ
0362nobodyさん
2009/05/16(土) 01:03:32ID:???すべきなんだろうけど、やらないねぇ。
それって noticeを抑制する以外、意味あるの?
正直どうでもいいとしか思ってない。
0363nobodyさん
2009/05/16(土) 07:39:00ID:???0364nobodyさん
2009/05/16(土) 09:30:53ID:???さておき、そもそもコード内で$_POSTに直接アクセスするのが良くない。テストできなくなる。
多くのフレームワークでスーパーグローバルがどっかに格納されるのはこういう理屈。
実行の早い時点で
$post = new Post($_POST);
$post->get('hoge');
とかにラップすべき(実際はGETとかも放り込んで$request->getPost('hoge')とかいう形が便利)。
まあ、別に配列を引数として直接渡していっても構わないけどな。
0365nobodyさん
2009/05/16(土) 09:54:18ID:???0366gugurekasu
2009/05/16(土) 10:56:24ID:SaZzzxwNブラウザー側で保存されているセッションIDを
ユーザーが適当に書き換えたとします。
サーバーがブラウザーのセッションIDを読み込み
tmpファイルの中に、新規にセッションIDに対応したファイルを作成。
これってセキュリティー問題ありなんですか?
0367nobodyさん
2009/05/16(土) 11:01:06ID:???0368nobodyさん
2009/05/16(土) 17:35:33ID:G930vyQ9いろいろやったけどなんかうまくいかないんだよね。
$img=getimagesize($infile);
$scale=($img[1]>$img[0])?'120':'x120';
exec("/usr/bin/convert $infile -resize $scale -gravity center -crop 120x120+0+0 output.jpg");
0369nobodyさん
2009/05/16(土) 17:40:55ID:raJP1QPzrequire_once "/HTML/QuickForm.php";という記述のところで
Fatal error: require_once() [function.require]: Failed opening required '/HTML/QuickForm.php' (include_path='C:\xampp\php\PEAR') in
というエラーが出ます。
どうすればいいのでしょうか?
0370nobodyさん
2009/05/16(土) 17:43:01ID:???あとincludeパスが通ってないのかもしれんし
0371nobodyさん
2009/05/16(土) 17:48:40ID:???参考にしているものってあります?
0372nobodyさん
2009/05/16(土) 17:51:27ID:raJP1QPzphp.iniには、以下のとおりに設定しています。
; Windows: "\path1;\path2"
;include_path = ".;c:\xampp\php\includes;C:\xampp\php\PEAR"
0373nobodyさん
2009/05/16(土) 17:54:59ID:???0374nobodyさん
2009/05/16(土) 18:08:29ID:raJP1QPz0375nobodyさん
2009/05/16(土) 18:12:10ID:raJP1QPz0376nobodyさん
2009/05/16(土) 18:36:07ID:???はそういう絶対パスだが。
先頭に.を加えればいいんじゃない?
0377nobodyさん
2009/05/16(土) 18:39:57ID:???require_once "HTML/QuickForm.php"; // スラッシュ削除
なら、
C:\xampp\php\PEAR\HTML\QuickForm.php
か
c:\xampp\php\includes\HTML\QuickForm.php
か
.\HTML\QuickForm.php
にあればいい。
0379nobodyさん
2009/05/17(日) 00:18:22ID:k2N5f3/Wどうすればいいですか?
0380nobodyさん
2009/05/17(日) 00:25:17ID:???0381nobodyさん
2009/05/17(日) 00:32:04ID:dGMXPYwm0382nobodyさん
2009/05/17(日) 00:36:15ID:???0383nobodyさん
2009/05/17(日) 00:43:09ID:???0384nobodyさん
2009/05/17(日) 00:46:18ID:???0385nobodyさん
2009/05/17(日) 11:35:53ID:TGtMBjDr$data = file_get_contents($url);
$count = count($data);
echo $count;
たったこれだけのソースでPHPのバージョンも同じなので、
file_get_contents以外に思い当たることがなく、
php.iniが間違ってるのかもしれないのですがご存じの方いらっしゃらないでしょうか
PHP4.42
0386nobodyさん
2009/05/17(日) 11:49:05ID:???ところで機能しないってのは具体的にどんな状態?
0387nobodyさん
2009/05/17(日) 11:59:15ID:???ページに何も表示されず、HTMLソースも空っぽな状態です
php.iniのそれっぽい箇所は
allow_url_fopen = On
にしてあります
けっこう複雑なことをやってるスクリプトはローカルで問題なく動いているので、
file_get_contentsだけが機能してないようです
0388nobodyさん
2009/05/17(日) 12:12:58ID:???0389nobodyさん
2009/05/17(日) 15:52:40ID:xCE67DMNマニュアル読んで
ttp://www.php.net/manual/ja/features.file-upload.post-method.php
1. <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
で最大サイズを指定しろよ。
2. サーバー側には upload_max_filesize で最大サイズがあるからな。
という2点は理解した。
で今仮に(1.) が1M (2.)が32Mとしよう。
俺の中では5Mのファイルをアップしようとしたら
(1.)に引っかかるので速攻で処理が終わるのかと思ったら
結局5M全部アップするまで終わらないのよ。
(2.)の最大サイズを超える50Mをアップしたとしても同じ。
『しかしそれでも MAX_FILE_SIZE を指定すべきです。
なぜなら、 巨大なファイルを転送しようとして、実はそれが大きすぎて
転送できないということを長時間待ったあとで知らされるのを 防げるからです。』
MAX_FILE_SIZE を指定する意味と↑の言葉がわからん。
0390nobodyさん
2009/05/17(日) 16:01:55ID:???うpっても長時間待たせずに知らせてくれる
という風に読めるけど違う?
0391nobodyさん
2009/05/17(日) 16:04:16ID:qM+VaA+V下記にあるサンプルは動いたのですが、
http://codezine.jp/article/detail/3492?p=2
下記のソースは動きませんでした。
http://php.s3.to/net/get1.phps
何が問題でしょうか?
0392nobodyさん
2009/05/17(日) 16:05:52ID:???0394nobodyさん
2009/05/17(日) 16:17:46ID:qM+VaA+V説明不足で申し訳ありません。下記に設置されているサンプルは
ボタンを押すと他のページを読み込んで表示しますが、ボタンを
押しても何も表示されませんでした(初期画面のまま)
http://php.s3.to/net/get1.php
サンプルと同じ動作を期待しています。
0395nobodyさん
2009/05/17(日) 16:26:28ID:???それ、呼び出し元がphp.s3.toかどうかチェックしてるじゃない。
自分の設置したサイトがphp.s3.toじゃないのなら、その部分書き換えないと
0396nobodyさん
2009/05/17(日) 16:31:27ID:qM+VaA+V動きました。早速の回答、ありがとうございました。
0397389
2009/05/17(日) 17:14:50ID:xCE67DMNファイルサイズをいろいろと用意して
サーバーにアップロードしてみたけど
実際、よくわからん orz
・わかったこと
a) MAX_FILE_SIZE を指定してそのサイズを超えてもアップロードは止まらない(?)
>>392
とりあえず(1.)を指定したからと言って
ブラウザー側で止まってくれるようなものではまずなさそう。
>>390
そんな感じかと思うんだけど、
(1.)の設定有りと無しで終わるまでの時間を計ってみても
どうも変わらないっぽいんだわ。
とりあえず俺が期待していた
「MAX_FILE_SIZE を越える場合、速攻で接続が切れる」
っていうのはなさそう。
0398nobodyさん
2009/05/17(日) 17:39:30ID:???「MAX_FILE_SIZE を越える場合、速攻で接続が切れる」
これはないんだよね。アップした後でないとわからんってこと。
IEだけはvbscriptで事前チェックできるけどセキュリティのためとはいえファイルサイズもわかんないのは面倒だよね。
0399nobodyさん
2009/05/17(日) 17:55:42ID:???マルチパートでPOST送信するわけだから<form>の直後にMAX_FILE_SIZE書いてもダメかな?
0400nobodyさん
2009/05/17(日) 18:19:45ID:???MAX_FILE_SIZEもしょせんはフォームの1データであって、ブラウザがそれをつかって何やするわけでないから。
0401nobodyさん
2009/05/17(日) 19:14:37ID:???2.はサーバー全体の設定になる。INI_PERDIRだから.htaccessで上書き、くらいはできるが。
1.はクライアントサイドでは無意味。HTMLの仕様にそんなものはない。
受け取ったスクリプトがこの値を見て勝手にサイズチェックをしてくれる、という値。
そして、この値は勿論クライアント側で改竄可能なので、結局何バイトのファイルを送るかはクライアントの自由になる。
結論:その値は無意味で、お前の思っていることは正しく、今日もPHPはウンコ
0402nobodyさん
2009/05/17(日) 19:22:35ID:???0403nobodyさん
2009/05/17(日) 21:59:09ID:k2N5f3/W0404nobodyさん
2009/05/17(日) 22:05:14ID:???0406nobodyさん
2009/05/18(月) 02:31:47ID:JzE+u3d46.1
0407nobodyさん
2009/05/18(月) 06:01:24ID:???あれは別にinputじゃなくても普通に人間が読めるようにしておけばいいって話なんだよねw
inputにしておけば送信する前に勝手に止まってくれるブラウザがあるかもしれないってだけで。
0408nobodyさん
2009/05/18(月) 14:18:01ID:Auu+frficonfigure: error: Cannot find php-config. Please use --with-php-config=PATH
↑のようなエラーが出てしまう。php.iniのパスは間違ってないし、
/usr/local/Zend/etc/php.ini: line 1: [PHP]: command not found
こんなエラーも出てるので、読み込みは成功してると思うんだけど、
何が違うんでしょう?
0409nobodyさん
2009/05/18(月) 14:20:44ID:???0410軟式PHP
2009/05/18(月) 14:26:34ID:???Cannot find php-configってなってるから
configureの引数が--with-php-config=ではなくphp-configになってしまってると思われる。
0411nobodyさん
2009/05/18(月) 14:31:00ID:???0412nobodyさん
2009/05/18(月) 14:41:49ID:Auu+frfiレスありがとう。configureオプションはこんな感じです。
./configure --enable-eaccelerator=shared --with-php-config=/usr/local/Zend/etc/php.ini
0413nobodyさん
2009/05/18(月) 14:49:53ID:???0415nobodyさん
2009/05/18(月) 14:54:05ID:Auu+frfiその発想はなかったわ...
探してみる。
0416nobodyさん
2009/05/18(月) 14:55:03ID:???/usr/local/Zend/bin/php-config
だろうね。
php-configを実行しようとしてphp.iniを実行したから
>/usr/local/Zend/etc/php.ini: line 1: [PHP]: command not found
このエラーがでたんだね。
php.iniの1行目に#!で始まるコマンド行が無い、というエラー
0417nobodyさん
2009/05/18(月) 14:55:24ID:Auu+frfi通ったっぽいw
お手数おかけしました。
そして、ありがとうございました。
0418nobodyさん
2009/05/18(月) 15:27:29ID:4boWXdtt0419nobodyさん
2009/05/18(月) 15:39:24ID:???アップロードはブラウザ側の処理だから延々と処理し続ける。
0422418
2009/05/18(月) 18:21:10ID:???英語は読めるので他にないですか?
0423nobodyさん
2009/05/18(月) 18:22:14ID:???0424nobodyさん
2009/05/18(月) 19:32:42ID:???C++.netのほうがよくないか?
0426nobodyさん
2009/05/18(月) 21:22:33ID:???0427nobodyさん
2009/05/18(月) 22:02:23ID:JzE+u3d40428nobodyさん
2009/05/18(月) 22:04:28ID:???御託はZend FrameworkとかPEARレベルのソースを読み書きできるようになってから抜かせ
と言いたいところだが、1言語しか使えない奴は総じてゴミなのでひとつくらいは別言語を覚えたほうがいいな
RubyとかActionScript辺りはどうだろ、適度に共通項があり適度に相違点があって勉強になると思うが
0429nobodyさん
2009/05/19(火) 02:46:52ID:???今は、.NetかSssP、Oframerとかが旬。
0430nobodyさん
2009/05/19(火) 04:34:55ID:???0431nobodyさん
2009/05/19(火) 04:44:00ID:???0432329
2009/05/19(火) 10:19:45ID:vtfeozSW>>331
インストール後の話なのでちょっと現況とマッチしてはいませんでした
まあ一切合財再インストールしたほうがいい、という意味と思いますし
私もそうして設定デフォルトでやり直したほうがいいかなーと思ったり
でもまあ暫くがんばってみたいと思います
>>332
virtualstoreフォルダは無かったんですが管理者権限でエディター動かして編集したらば
とりあえず反映しました!うーんなんなんだ
ありがとうございました!
とりあえずVistaはもう・・・ぐったり
0433418
2009/05/19(火) 11:42:30ID:xoc5pFTkSQLでポスグレとMySQLは使えます
jsも使えます(ajaxも)
データフォーマットはxml,json,csv,tsvも絡められます
web言語にとらわれず仕事になるものでしたら何でも覚えたいです
0434nobodyさん
2009/05/19(火) 11:43:33ID:xoc5pFTkflashは仕事で使ってるので覚えてます
ASは3.0まで使ってます
0435nobodyさん
2009/05/19(火) 13:28:50ID:???マ板でもいっときな。まぁPHPは言語してみなされないがw
0436nobodyさん
2009/05/19(火) 14:33:32ID:oPaIAAk+[Mon May 18 21:25:02 2009] [error] [client 192.168.0.7] PHP Fatal error: callData::require_once() [<a href='function.require'>function.require</a>]:
Failed opening required 'config.inc.php' (include_path='.:/php/includes: /usr/lib/php/pear: /var/www/php_libs: /var/www/php_libs/Smarty/libs:
/var/www/php_libs/config') in /var/www/html/system/admin/callData.class.php on line 44, referer: http://192.168.0.2/system/a_new.php
apacheを動かしてて、プログラムがエラーを起こしてしまいます。実行するファイル 'config.inc.php' が無いと言われているようです。
でもinclude_pathで指定されたフォルダの中に該当のファイルが存在しています
なぜ認識してくれないのでしょうか? 環境はCentOS5で、apache2、php5です
リナックスを操作するのに慣れていないんですが、実行権限などの関係でしょうか?
.phpは755で指定しています
0438436
2009/05/19(火) 15:39:19ID:oPaIAAk+ありがとうございます
vi /var/www/php_libs/config/config.inc.php で中身が確認できる状況です
気になるのが
ls -la /var/www/php_libs/config とすると、
config.inc.php の他に config.inc.php~ というファイルがあります
Xで見るとそんなファイルないんですが隠しファイルってことでしょうか
削除した方が良いんでしょうか
-rwxr-xr-x 1 root root 4008 May 18 19:16 config.inc.php
-rw-rw-rw- 1 root root 4021 May 20 2008 config.inc.php~
こんな感じです
0439nobodyさん
2009/05/19(火) 15:39:38ID:???0440nobodyさん
2009/05/19(火) 15:44:07ID:???パーミッションの実行もphpの場合(cgiモードで動作させる場合を除いて)関係ない
その
ディレクトリのオーナーとパーミッション(/var、/var/www、/var/www/php_libs)は
どうなってる?
0441nobodyさん
2009/05/19(火) 15:52:11ID:???440の言うようにDSOでPHPが動いているだろうから
Apacheから読めるかどうかが原因のような気がするなぁ。
>>439
雑魚は引っ込んでろw
0442436
2009/05/19(火) 15:55:22ID:oPaIAAk+drwxr-xr-x 12 root root 4096 May 16 11:18 www
drwxr-xr-x 21 root root 4096 Apr 8 04:17 var
パーミッションはこんな感じです
度々すみません
0443nobodyさん
2009/05/19(火) 16:01:02ID:???逆にそれが災いしてSELinuxが効いてんじゃないの?
オーナーをhttpd実行ユーザーと同じにして644の755にしとけ
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は、とりあえず適当にエラー出しそうな値に書き換えてみたら
>とりあえずいじってるファイルがあってるかどうかわかるんじゃない?
たしかに! 試してみますね。ありがとう
■ このスレッドは過去ログ倉庫に格納されています