のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,063,101人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    元スレ【PHP】下らねぇ質問はID出して書き込みやがれ 83

    php覧 / PC版 /
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter

    251 = :

    http://jp2.php.net/manual/ja/function.headers-list.php

    252 = :

    こんな関数あったんですね
    ありがとうございました。

    255 = :

    >>247
    それで、hogeは出来てないんだよね?
    次はerror_log書いて、PHPのログをチェックかな

    256 = :

    >>245
    >1秒とか10秒とかの単位で時間がかかるような規模の試験をした方がいい。
    そこまで両者に差が出るとは思えないし
    そんな結果が出るまでやるとなるとメモリが足りなくなるでは?
    できるならぜひベンチ結果をみてみたいが
    というかそんな規模のものPHPじゃ作らないだろうし杞憂な気もするけど・・・

    >>248
    >count()っていうのはループ中に値が変わる可能性があるわけで
    >バグによってループする回数が変わってしまう危険性
    だいたいこういう処理は配列を1つずつ取り出す場合に使うのであって
    対象の配列数が変わるような処理をやるほうがおかしいのでは?
    具体的にどのようなことをするのか検討もつかないけど・・・
    バグによってループ回数が変わるっていうのも意味不明

    >>183もナイワと批判を書くのではなくて
    外におけばPHPではパフォーマンスがあがるという注釈をつければここまで伸びなかった

    257 :

    PDOのマニュアルには失敗した時の動作が、書かれてないんですが、
    このあたりはドライバ依存ってことなんでしょうか?

    http://jp.php.net/manual/ja/pdo.query.php
    http://jp.php.net/manual/ja/pdo.exec.php

    例外で処理するのか戻り値で処理するのか、イマイチわかりません。
    とりあえず、今使ってるSQLiteでは戻り値で判断できるみたいですが、ちょっと不安だなぁと言うことで。

    258 = :

    >>257
    PDO用の例外があるでしょ
    PDOExceptionだったかな

    259 = :

    >>257
    失敗しても気にするなよ。諦めたらそこで試合終了だよ

    263 = :

    コードが長けりゃどこかにうpすればいいのに

    265 = :

    とりあえず、どこまで出来てるのか確認するのが基本
    だから、<?phpの後でいいんじゃね?

    266 = :

    エラーログを吐き出すようにしてみました。
    単体でtest2.phpを動かすとログを出しますが、
    メールを介して動かしてもログが吐き出されませんでした。

    maillog
    (delivered to command: /usr/bin/php /var/www/html/test2.php)

    .forward
    "| /usr/bin/php /var/www/html/test2.php"

    test2.php
    #!/usr/bin/php -q
    <?php
    error_log("テストエラー",0);
    system("touch hoge");
    ?>

    267 = :

    forwardでコマンドは実行されているみたいですがtest2.phpは動いていない。
    ・.forwardの中が間違っている。→/usr/bin/phpは存在する。 
                   →/var/www/html/test2.phpでtest2.phpを
                    動かせる。
    ・パーミッションが間違っている。→.forwardを600 test2.phpを705or755

    あと考えられる事象はなんでしょうか。

    268 = :

    >>267
    ディストリは何使ってるんだ?
    それがわかれば同じ環境作ってやってみるけど

    269 = :

    >>267
    .forward
    "| /usr/bin/php -q /var/www/html/test2.php"
    にしてみ

    270 = :

    .forward
    "| /var/www/html/test2.php"

    うちは、これで動くけど?

    271 = :

    まず
    "| touch /tmp/hoge"

    ってやってみて処理してるユーザ名を把握してはどうだろう

    272 = :

    >>267
    ディストリというのは環境という意味でいいのかな?
    PHP 5.0.4kfedoracore4です。

    >>269
    >>270
    試してみました。

    >>271
    suxxxxxxxのユーザーの空ファイルとなりました。
    ……test2.phpはroot。……まさか。。。

    274 = :

    >>271

    作成されたファイルhoge
    -rw------- 1 suXXXXXXX suXXXXXX 0 4月 11 08:36 hoge
    .forward
    -rw------- 1 suXXXXXXX suXXXXXXX 20 4月 11 08:35 .forward
    test2.php
    -rwx---r-x 1 root root 112 4月 11 08:02 test2.php

    ごく。

    276 = :

    うん
    スーパーグローバルは使うけど

    277 = :

    スーパーグローバルは便利だが、テストしにくくなる。
    モジュールごと、クラスごとにテストを書かないといけないような、ややっこしいコードを作る時は避けた方がいい。

    グローバル変数は使うべきではない、とされている。
    これは、グローバル変数はどこでどう値が変えられるか分からないのが最大の理由。
    ある時点でグローバルに何が入っているかは、プログラムの最初から最後まで全部読まないと分からない。
    不具合発生時に原因を特定しづらいし、機能追加時などにどの時点でどの変数がどうなってるか分かりづらくなる。

    いっぽう、一時変数は、その関数の中で生成され、その関数が終わったら消えるので、その関数の中だけ見れば値が分かる。
    グローバルに依存しない関数は、同じ引数を渡せば同じ結果が常に返って来る。
    プログラムのどこで呼ばれても(引数が同じならば)同じ結果が返る事が保証されているので、バグの原因を探しやすい。

    278 = :

    ディレクトリィのパーミッションを777に変えてたら
    test2.phpまで届いてログが出るようになりました。
    ですが、system("touch hoge")が実行されず
    まだ空ファイルが作られない状態です。

    279 = :

    file_put_contents("/tmp/hoge.txt", realpath("."));を書いてみて、
    カレントディレクトリを把握してはどうだろう。そしたらパーミッションを確認してと・・

    281 = :

    >>280

    >注意: セーフモード が有効な場合、 safe_mode_exec_dirの中にある実行プログラムのみ実行可能です。実際的な理由により、現在、実行プログラムへのパスに ..を含めることはできません。

    282 = :

    じゃあsystem("touch /path/to/hoge");みたいに書くか
    chdir("/path/to");を先に書いておくか・・

    283 = :

    >>281
    セーフモードは無効になっていました!

    >>282
    できた! 

    ようやく全て結合してDBも動きました。
    ありがとうございます!

    284 = :

    >>257
    http://jp.php.net/manual/ja/pdo.error-handling.php

    286 = :

    >>283
    名を名乗るほどのモンじゃねえから礼はいいってことよ

    287 = 257 :

    >>284
    ありがとう。なんで見逃してたんだろ。
    すんません。

    289 = :

    >>288
    http://jp.php.net/manual/ja/function.imagepng.php

    291 = :

    レスありがとうございます。
    まだ帰れず試せないのですがもどったらやってみてまた報告します。

    292 = :

    さくらインターネットスレで質問したのですが誰もわかる人がいないので
    こちらにて質問させて下さい。


    FreeBSDにTeraTermで接続しコマンドラインから

    php /home/my-account/www/Test.php

    とすると正常に実行出来るのに
    さくらインターネットのサーバコントロール画面からcronの実行コマンド項目に
    上記命令をコピーして「送信」ボタンを押して時間を指定して実行しているのですが
    まったく実行されません。

    どうすればcronを実行させる事が出来ますか?

    293 = :

    自己解決しました。

    294 = :

    さくらインターネッツのコンパネ設定とか知らないけど
    telnet(ssh?)とか使えるんなら普通にcrontab -eで編集できるんちゃうん

    295 = :

    >>292
    激しく板違い

    296 = :

    >>294
    サンクス。

    >>295
    だから解決したって。

    297 = :

    テストファーストってした方がいいのかどうか微妙すぎて踏み切れん

    299 = :

    報告乙


    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について