X



rep2 part65
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
垢版 |
2018/10/29(月) 19:16:00.64ID:61E4peY90
※■公式p2はこのスレでは扱っていません■※

ブラウザから 2ちゃんねる、まちBBS、JBBS@したらばBBS 等の
掲示板を快適に閲覧するためのPHPスクリプトです。
Mac OS X、UNIX、Linux、Windows などで動くマルチプラットフォーム設計。
ソースは公開されています。

※このスクリプトを動作させるためには、サーバを動かしてPHPを走らせる必要があります。
※荒れる元なのでレンタル鯖やVPSにp2を設置する話題はしない&スルーしてください。
※不具合は怒らず煽らず落ち着いて報告しましょう。

■公式ページ
rep2 expack 全部入り by open774
https://github.com/open774/p2-php
p2 - PHPでつくった2ch Viewer
http://akid.s17.xrea.com/
p2Wiki
http://akid.s17.xrea.com/p2puki/

■前スレ
rep2 part64
http://egg.5ch.net/test/read.cgi/software/1512235557/
0625名無しさん@お腹いっぱい。
垢版 |
2019/06/21(金) 16:35:21.81ID:0bgBAMQT0
chmateみたいに返信が多いレスとか、URLを含むレスとか、マークしたレスをミニマップで表示してタップしたらそのレスに飛ぶように出来ないものかなぁ
0632名無しさん@お腹いっぱい。
垢版 |
2019/06/24(月) 11:10:47.70ID:0JP1sWU10
>>631
ありがとう!ありがとう!!できた!
ほんとウザかったから自分で正規表現やってみたんだけど
低能すぎてうまくできなくて困ってたんだ
0633名無しさん@お腹いっぱい。
垢版 |
2019/06/24(月) 11:14:25.57ID:+3jaet3Y0
改行荒らしってわざわざ手で打ってるのかな
ならばその労力に敬意を表して
こちらも>>631をリストに設定する労力を使おう
0634名無しさん@お腹いっぱい。
垢版 |
2019/07/06(土) 05:32:25.68ID:9Dn8ZhfZ0
dpkg -l | grep phpってやったらphp5とphp7と数字の付いてないphpが出てきたんだけども
今rep2がどのphpで動いてるのかはどうやったら分かりますか?
0638名無しさん@お腹いっぱい。
垢版 |
2019/07/06(土) 14:44:55.59ID:vCeh0HJa0
phpinfoだけのphp実行するか確認できるならサーバのログとか
ログインできるならサーバに動的にリンクしてるライブラリで確実にわかる
0642名無しさん@お腹いっぱい。
垢版 |
2019/07/12(金) 13:14:35.61ID:SLB2N8950
>>641
Ubuntu19.04で構築しようとしたらcomposerでエラーわんさか出て訳分からなくなったので
同じ手順で18.04にて構築し直したらあっさり完了したわ>うち環境
0643名無しさん@お腹いっぱい。
垢版 |
2019/07/12(金) 14:07:56.76ID:wUvNoD6z0
モジュールが足りてないだけだろ
Ubuntu 19.04とphp7.3で動いてるぞ
エラーを注意深く見て何が足りないのか追ってみれ
0644名無しさん@お腹いっぱい。
垢版 |
2019/07/13(土) 17:06:46.54ID:zC4/uNou0
AV機器板が移動したみたいなのだけれども、ホストの同期を押しても
rep2 info: p2_favita.brd は変更されませんでした。
になってしまうのだけれども、これはどう対処するのがいいのだろう
誰か教えてください
0648名無しさん@お腹いっぱい。
垢版 |
2019/07/29(月) 11:56:59.98ID:/SC1q24o0
そこの証明書の有効期限が今日の8:59:59までで切れてる。
SSL証明書の検証をしないように修正することでメッセージ自体の抑制はできなくはないが
基本的には管理者が証明書の更新をしないとダメやな。
0649名無しさん@お腹いっぱい。
垢版 |
2019/07/29(月) 12:06:42.96ID:/SC1q24o0
# openssl s_client -connect egg.2ch.net:443 -showcerts
CONNECTED(00000003)
...
depth=0 OU = Domain Control Validated, OU = PositiveSSL Multi-Domain, CN = ssl425719.cloudflaressl.com
verify error:num=10:certificate has expired
notAfter=Jul 28 23:59:59 2019 GMT
verify return:1
depth=0 OU = Domain Control Validated, OU = PositiveSSL Multi-Domain, CN = ssl425719.cloudflaressl.com
notAfter=Jul 28 23:59:59 2019 GMT
verify return:1
...

cloudflaresslの無料SSL証明書使ってるのかな。
それなら費用ではなく単なる更新忘れの管理ミスなんだろうな。
0659名無しさん@お腹いっぱい。
垢版 |
2019/08/19(月) 13:00:29.14ID:9mquOoiy0
IC2で星つけてランク分けられるけど
星ごとにフォルダに分けて画像のバックアップ取りたい
星1はstar1フォルダに星2はstar2フォルダに…みたいに
自作プログラムを作る力量がないなら無理?
0661名無しさん@お腹いっぱい。
垢版 |
2019/08/19(月) 13:32:42.56ID:OZyLXRjS0
プログラム作らないならランクでフィルタして多めに一括表示して
ブラウザの拡張機能とかで URL 抽出してからなんかのツールでダウンロードすればいいんじゃね
0662名無しさん@お腹いっぱい。
垢版 |
2019/08/19(月) 13:35:33.36ID:iV760WdP0
GCPはあアカンで。メリケンからの通信遮断されとる。
GCPをtokyoリージョンで作ってるブルジョワならapiか串刺しとるか?
0663名無しさん@お腹いっぱい。
垢版 |
2019/08/20(火) 15:00:03.87ID:YgkzxJD+0
GCPは高いからLightsail(AWS)に移って費用は半分以下になった。
2年前に3万円ただで使えるのにつられてしまったからな・・・
0668名無しさん@お腹いっぱい。
垢版 |
2019/08/20(火) 15:46:33.67ID:YgkzxJD+0
ホコリたまって火事になるよ。ググるとどういう状態になるのか分かる。
俺も昔やってたけど、ノートパソコンやめてラズパイで串を動かしてそれをrep2のプロキシ設定にしてる。
スナップショット機能があるクラウドのほうがトラブってもすぐ巻き戻せるし便利。
0670名無しさん@お腹いっぱい。
垢版 |
2019/08/20(火) 15:59:09.96ID:0z+Wts1r0
lightsailで月400円くらいだからなあ
もっと安いサーバーもあるしrep2以外になにしてるかにもよるけどじゅうぶん比較対象になる
0671名無しさん@お腹いっぱい。
垢版 |
2019/08/20(火) 16:44:33.15ID:c7e2BW6c0
rep2だけならまあクラウドも検討できるけど、
他にも色々やってて容量もテラバイトほしいとかなると
外部クラウドなんてとてもとても
0673名無しさん@お腹いっぱい。
垢版 |
2019/08/21(水) 06:08:01.43ID:nzPBcIMN0
自宅鯖で色々と運用してるとrep2をクラウドに置く意義がないんだよね
全部クラウドにしたら転送量で高くついてしまう
ざっと見たら月間1TBくらいあるわ……
0674名無しさん@お腹いっぱい。
垢版 |
2019/08/21(水) 07:43:33.74ID:+d3E1VLZ0
自宅のネットはv6プラスなもんで任意のポートを開けられない。
プロキシはそれを気にしなくていいけど、WEBでそれはキツかったのでクラウドに移行したよ俺は。
0676名無しさん@お腹いっぱい。
垢版 |
2019/08/21(水) 08:47:45.16ID:ByKVIf2D0
GCPとAWSは書き込み出来ん。
設定ファイルの直接書き込むをオンにしたら、
書き込みボタンを押すと5chの当該スレが直接開くようになる。
0679名無しさん@お腹いっぱい。
垢版 |
2019/08/21(水) 09:18:03.82ID:+d3E1VLZ0
>>678
ポートはどうしても443じゃないとダメだな。
Let's Encryptの証明書が取れなかった。ポート変えて出来るようだが無理だった。
0683名無しさん@お腹いっぱい。
垢版 |
2019/08/26(月) 04:16:08.58ID:aU8U/IEa0
バイクスレのデフォネーム「774RR」みたいに数字が含まれていると
このバイクスレでは1〜1000までのアンカーが全部レス774についてしまう
こんな感じ
https://i.imgur.com/x1JNtQE.png
レス774のIDをNGにするとか「逆参照ポップアップリストの表示」を
「しない」に設定するとか以外でこれ回避する方法ない?

バイクスレの例:
http://egg.2ch.net/test/read.cgi/bike/1564067995/774
0684名無しさん@お腹いっぱい。
垢版 |
2019/08/26(月) 04:27:47.05ID:8cmWiE4U0
本来デフォ名無しはちゃんとアンカー化しないようになってるんだけど
ワッチョイが入ったせいでその機能が動いてないとかいう感じだったと思う
0686名無しさん@お腹いっぱい。
垢版 |
2019/08/27(火) 08:32:04.38ID:s9PYVaij0
どうせ降ってくるv6アドレス変わらないから固定みたいなもんだろ
割り当てられたポート番号フォワードしたら良いよ
0691名無しさん@お腹いっぱい。
垢版 |
2019/08/31(土) 00:36:07.45ID:nyXgg4p60
>>688です
取得が不安定なだけでした(ノ∀`)
お騒がせしました
なんで取れたり取れなかったりするのかは分かりませんw
0694名無しさん@お腹いっぱい。
垢版 |
2019/09/05(木) 23:37:51.94ID:JSy9swDm0
API使ってるけど、過去ログのみdatproxy使うとかできますかね?
全部datproxyにしたほうがいいのかな
0699名無しさん@お腹いっぱい。
垢版 |
2019/09/09(月) 15:54:24.83ID:haylkUhC0
windowsにて6年位前のrep2exをPHP5.3+Apache2.2+2chAPIProxyで運用してましたが
9/8からなぜかスレ一覧もスレも読めなくなってしまったので、
GitHubからrep2最新ソースを取得し、PHP7.3.9+Apache2.4+2chAPIProxyの環境を構築しました。
何とかようやく動作するようになったのですが、お気にスレの振る舞いがおかしいです。
お気にスレを1件しか登録してない状態でも、更新ボタンをクリックすると、1分後にタイムアウト
しHTTP500が帰ります。
Apacheログには
「PHP Fatal error: Maximum execution time of 60 seconds exceeded in D:\htdocs\lib\P2CurlMulti.php on line 126」
と出ていて、switch (curl_multi_select($this->mh, $_conf['http_conn_timeout'] + $_conf['http_read_timeout'])) {
が該当行です。
http_conn_timeoutとhttp_read_timeoutの設定はconf_admin_inc.phpにありましたが、
この時間を10倍にしてもやっぱり1分でタイムアウトします。
てか、そもそもタイムアウトするような部分ではなく、未読がなければクリック後即結果表示
去れるはずです。
どこを直せばいいでしょうか。あるいはPHPモジュールが足りないのでしょうか?
ご存知の方、助言を頂きたいです。
0701名無しさん@お腹いっぱい。
垢版 |
2019/09/09(月) 16:24:09.57ID:haylkUhC0
>>700
はい、README.md読みながら格闘しました。
php scripts/p2cmd.php checkの結果は以下のとおりです。

PHP Version:
7.3.9: OK
PHP Extensions:
curl: OK
dom: OK
json: OK
libxml: OK
mbstring: OK
pcre: OK
pdo: OK
pdo_sqlite: OK
phar: OK
session: OK
spl: OK
zlib: OK
php.ini directives:
safe_mode = : OK
register_globals = : OK
magic_quotes_gpc = : OK
mbstring.encoding_translation = 0: OK
session.auto_start = 0: OK
0704名無しさん@お腹いっぱい。
垢版 |
2019/09/09(月) 16:41:53.66ID:agGpXSVn0
Maximum execution time ってことだから php.ini とかの「max_execution_time」の値がどうなってるんだろう?

conf.inc.php の103行目にある「set_time_limit」の値もいじってやるのもありかもしれんが
0705名無しさん@お腹いっぱい。
垢版 |
2019/09/09(月) 16:51:12.21ID:haylkUhC0
>>704
conf.inc.phpのset_time_limitを300にしたところ、300秒後にtimeoutになりました。
お気にスレ更新ボタンの結果が帰ってこないのは同じでした。
0707名無しさん@お腹いっぱい。
垢版 |
2019/09/09(月) 16:55:39.13ID:jgU6XVjk0
まあそこが気にならないわけではないけど本質じゃないよね
瞬時に帰ってくるはずのものが60秒待っても帰ってこないんだからいくら伸ばしてもだめでしょう
なんで無反応になるかを調べたほうがいい
0708名無しさん@お腹いっぱい。
垢版 |
2019/09/09(月) 17:02:06.05ID:XAErWbQu0
その126行目の次の行に該当してるんじゃない?
記事はめちゃ古いけど、WSLで構築しなおして忘れる方がいいとおもう
0709名無しさん@お腹いっぱい。
垢版 |
2019/09/09(月) 17:22:28.87ID:RMvT4gAM0
Windowsだけの閉じた世界でrep2使うならWSLはお勧め。
PHPのビルトインサーバー機能で動かすようにスタートアップに仕込めばいい。
WindowsのApacheでやってる人はあまりいないんじゃないか?
0710名無しさん@お腹いっぱい。
垢版 |
2019/09/09(月) 17:23:47.34ID:RMvT4gAM0
Windows 10じゃなかったらすまんな。
だけどもういい加減アップグレードした方がいいと思うんだ。
0712699
垢版 |
2019/09/09(月) 18:06:44.24ID:haylkUhC0
皆さんレスありがとうございます。
今の間にPHP5.6.9を構築し、Apacheの設定をphp5_moduleに変えて試したところ、
お気にスレ更新ボタンをクリックするとすぐに帰ってきました。
新着レス数も更新されています。
ただし、お気にスレ一覧の最上部に
「Warning: curl_setopt() expects parameter 1 to be resource, null given in D:\htdocs\lib\P2CurlMulti.php on line 93
Warning: curl_setopt() expects parameter 1 to be resource, null given in D:\htdocs\lib\P2CurlMulti.php on line 94
」が表示されるようになりました。
その状態から再度更新ボタンをクリックすると、エラーは消えます。
Apacheのエラーログには同じく
「PHP Warning: curl_setopt() expects parameter 1 to be resource, null given in D:\htdocs\lib\P2CurlMulti.php on line 93」
「HP Warning: curl_setopt() expects parameter 1 to be resource, null given in D:\htdocs\lib\P2CurlMulti.php on line 94」
が出ています。
PHP7.3.9で常に出ていた
「PHP Warning: count(): Parameter must be an array or an object that implements Countable in D:\htdocs\vendor\pear-pear.php.net\DB\DB.php on line 774」
は消えました。
0713名無しさん@お腹いっぱい。
垢版 |
2019/09/09(月) 18:20:01.36ID:W4iE7ph30
conf_admin_ex.inc.php

expack.use_curl_multi
が1になってるなら0にしてやるとなおる気がする
うちのDebian 10 Busterもそうだった
(PHP7.3のcurlがおかしい?)
0714699
垢版 |
2019/09/09(月) 18:28:29.69ID:haylkUhC0
>>713
> expack.use_curl_multi
> が1になってるなら0にしてやるとなおる気がする
ふおおぉぉぉ!消えた!治りました!!!

> (PHP7.3のcurlがおかしい?)
てことなんすかね?
count()の仕様もPHP7.2から変わってるみたいでApacheのerror.logにWaring出まくりですし
PHP7.1以下のほうがよさそうですね

レス下さった皆さん、ありがとうございました!
0715名無しさん@お腹いっぱい。
垢版 |
2019/09/09(月) 18:52:26.42ID:CiSXqVC60
を、Debian10+Apache2.4+php7.3という環境でexpack.use_curl_multi を1にしたら
``PHP Fatal error: Maximum execution time of 60 seconds exceeded in hoge/p2-php/lib/P2CurlMulti.php"がエラーログにでてきた
0716名無しさん@お腹いっぱい。
垢版 |
2019/09/09(月) 19:14:16.59ID:cPs7z9Qf0
串使ってると curl_multi でタイムアウトするってことなんかな?
subject を取りに行くだけなら串通さなくてもいいもんなのかね?
0717699
垢版 |
2019/09/09(月) 19:20:50.87ID:haylkUhC0
今PHP7.1.32をインストールし、httpd.confに反映させて試したところ、
PHP5.6.9同様にエラーもワーニングも出ず問題なく動作しました。
Windows10 Pro x64環境では、PHP7.1以下が安定動作するようです。
0719名無しさん@お腹いっぱい。
垢版 |
2019/09/09(月) 23:25:23.52ID:TbSOD0UN0
俺もcurl_multiにすると上手く動かないから無効にしてる
並列で落とした方が速いだろうから調べようと思ってたの忘れてた
0722名無しさん@お腹いっぱい。
垢版 |
2019/09/10(火) 03:42:48.39ID:vna1qdmV0
軽く調べてみたけど
curl_multi_selectはアクティビティを待つだけ何で
無駄にループ回すけどrep2ぐらいならとりあえずこれでよさそう


        do {
            //switch (curl_multi_select($this->mh, $_conf['http_conn_timeout'] + $_conf['http_read_timeout'])) {
            //    case -1: // selectに失敗するケースがあるらしい https://bugs.php.net/bug.php?id=61141
                    usleep(100);
                    //do{
                        $stat = curl_multi_exec($this->mh, $running);
                    //} while ($stat === CURLM_CALL_MULTI_PERFORM);
             //       continue 2;

             //   case 0: //timeout
             //       continue 2;

             //   default:
                    //何か変化があった
             //       do{
             //           $stat = curl_multi_exec($this->mh, $running);
             //       } while ($stat === CURLM_CALL_MULTI_PERFORM);
             //}
        } while ($running);
0724名無しさん@お腹いっぱい。
垢版 |
2019/09/10(火) 11:37:26.35ID:vna1qdmV0
あ、いや全然チェックしてないしphp分からんからこれでいいかな?て意見を求めるくらいのつもりだったのでお勧めしない
あとusleep(100)はさすがに短すぎるのでusleep(100000)くらいにはしたほうがいい
0725名無しさん@お腹いっぱい。
垢版 |
2019/09/10(火) 13:54:26.59ID:mIyeO1aA0
https://qiita.com/Hiraku/items/1c67b51040246efb4254
P2CurlMulti.phpの元ネタらしきコード
usleepを使うのは昔のバグ対策らしいが今は不要

https://blog.ver001.com/curl_multi_select/
最近のPHPはcurl_multi_selectの戻り値を見てはいけない

https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13154943418
PHP5.3.2以降はCURLM_CALL_MULTI_PERFORMを見る必要はない
774版は5.6以降対応

まとめるとこうなる

    private function execute() {
        global $_conf;

        if(is_null($this->mh) && is_null($this->ch)){
            return;
        }

        // execute
        do {
            curl_multi_exec($this->mh, $running);
            curl_multi_select($this->mh, $_conf['http_conn_timeout'] + $_conf['http_read_timeout']);
        } while ($running);
    }
■ このスレッドは過去ログ倉庫に格納されています