PHP質問・雑談スレ4【初心者お断り(ROM歓迎)】at PHP
PHP質問・雑談スレ4【初心者お断り(ROM歓迎)】 - 暇つぶし2ch250:nobodyさん
18/01/04 20:11:56.98 .net
>>239は同期が必要なゲームデータのやり取りを想定してると思っての答えなんだろうけど。
1や2見るとそういう用途とは思えないな。
1がいまいち意味わからないけど。

251:nobodyさん
18/01/10 19:17:52.42 .net
スレチとか低レベ質問だったらすまん
headerを使用したリダイレクトとApacheのリバースプロキシを利用したリダイレクトはどう違うんでしょうか?
レスのヘッダーの中身が違うんですか?

252:nobodyさん
18/01/11 08:02:03.52 .net
headerはブラウザがページ遷移を処理する
リバースプロキシはサーバが接続処理する
前者はリダイレクト前後でURLが変わるが後者は見かけ上変化しない

253:nobodyさん
18/01/12 07:35:52.10 .net
>>246
ありがとうございます
今朝検証したらその通りになりました
ちょっとハマってたので助かりました

254:nobodyさん
18/01/22 17:23:29.75 .net
良くできてるプラグインとかに感動しなくなってしまった

255:nobodyさん
18/01/23 14:48:39.99 2Wa7Kih8.net
phpのf/wってルートネームスペースにエイリアス置きたがるけどさ
use句があった方が圧倒的にわかりやすいと思うんだが、なんか理由ってあるのん?

256:nobodyさん
18/01/24 21:33:51.91 wn68glNS.net
同一サーバでドメインごとにphpのバージョンを切り替えたいんですが
どうしたらいいですか?

257:nobodyさん
18/01/24 21:44:46.08 .net
KubernetesでドメインごとにPods分ける

258:nobodyさん
18/01/29 23:40:26.63 .net
Pythonおっそ・・・
PHPに戻ってきたよ

259:nobodyさん
18/01/30 20:55:34.50 .net
Python遅いって一体何をしたんだ

260:nobodyさん
18/02/04 00:19:15.00 .net
phpexcelを使って、読み込んだエクセルのマクロを実行する方法はないでしょうか

261:nobodyさん
18/02/04 02:27:57.71 .net
PHPExcelを使って, では不可能(VBAは誰が実行するんだ?)
何らかの形でVBAの実行環境を構築出来ればやれるはやれるだろう
VBSならWindows Script HostがあるがVBAじゃあExcelのCOMを使うしかなかろうが
URLリンク(php.net)

262:nobodyさん
18/02/04 08:13:01.47 .net
Windows Serverでやればできる

263:nobodyさん
18/02/05 03:33:46.05 .net
PHP5時代ではコンストラクタはクラス名ではなく__constructを使う
public修飾子はつけるというルールがSHOULDだったと思うのですが
PHP7時代でもそうなのでしょうか?

264:nobodyさん
18/02/05 04:37:38.89 .net
>>257
URLリンク(php.net)
> Old style constructors are DEPRECATED in PHP 7.0.
URLリンク(www.php-fig.org)
> Visibility MUST be declared on all methods.

265:nobodyさん
18/02/05 05:55:18.96 .net
>>258
ありがとうございます
両方MUSTなんですね

266:nobodyさん
18/02/09 13:09:25.44 1nX6uKvU.net
質問させてください
URLリンク(public.bitbank.cc) 
これをfile_get_contentsしてjson_decodeしてもNULLになります。
file_get_contentsの時点ですでにNULLが帰ってきます。
curlでやっても同じでした。
ブラウザでの表示は問題なく表示を確認していますが何が原因でしょうか?
PHPのバージョンは5.3です。
allow_url_fopenはonになってます。
ちなみに上記URLはビットバンクのAPIですが他の仮想通貨関係のAPIのデータは問題なく取得できます。
原因だけでもわかるとありがたいです。
お願いします。

267:nobodyさん
18/02/09 13:30:24.45 .net
cURLで取れるけど

268:nobodyさん
18/02/09 19:13:46.61 .net
>>261
ですよねー、取れるのが普通ですもんね
何故か自分の環境では取れないんですよ
特にfile_getにこだわってるわけではないんでcurlでもどちらでも良いんですが何故かbitbank.ccのデータだけNULLになっちゃう

269:nobodyさん
18/02/09 19:43:03.84 .net
とりあえず環境かな, OS分からんし
可能ならPHPのバージョン上げるとか(5.3はもう死んだ, どころか5.5まで死んでる)
因みに手元ではcURLだけじゃなくfile_get_contentsも問題なし

270:nobodyさん
18/02/09 20:03:54.06 .net
ありがとうございます。
PHPのバージョンを上げてから再度検証してみます。

271:nobodyさん
18/02/09 20:09:43.52 .net
変えられるならもういっそ7.2まで上げてしまうといい
どうせ早いか遅いかだ

272:nobodyさん
18/02/09 23:22:33.34 .net
HTTPS周りならOpenSSL関連かもしれんし
なんかヘッダが必要かもしれんからcontext作って渡すとか
基本的なことをやってから

273:nobodyさん
18/02/10 07:06:11.19 .net
>>266
それやってもわかんなかったから質問したのよね

274:nobodyさん
18/02/10 09:41:56.07 .net
お前もかよ
ビットコインブームにあやかりやがって!

275:nobodyさん
18/02/12 08:06:33.44 .net
PHP経由で画像を出力する手法があるかと思いますが、この場合スクリプトで
いろいろと制限をかけることができ、セキュリティ上よろしいようですが
Apacheが即座に画像を返すのに対し、一度スクリプトを走らせて画像を出力するのは
パフォーマンス的に厳しい気がするのですが、どうなんでしょうか

276:nobodyさん
18/02/12 08:26:04.99 .net
計測すればいいんじゃないか
一枚ぐらいなら楽勝だけど、アクセスごとに100枚も200枚も出してたら重くなると思う
とりあえずパフォーマンスなんて考えずに作ればいいよ
どうせ誰も使わないサイトだからwww

277:nobodyさん
18/02/14 18:29:59.40 .net
PHPの開発環境のシェアは
Eclipseが8割り位占めてる?

278:nobodyさん
18/02/14 20:25:33.13 .net
>>269
セキュリティ上別によろしくはない
何が目的かは知らないけどはっきりいって無駄だと思うぞ
>>271
いいえ Eclipseなんて1割もおらんだろ

279:nobodyさん
18/02/14 20:36:28.35 .net
notepad ++最高

280:nobodyさん
18/02/14 20:45:14.35 .net
有料だけどPHPStorm使うと戻れないわ

281:nobodyさん
18/02/14 20:59:33.05 .net
PHPStormの人気すごいな
使った人みんな同じこと言ってる

282:nobodyさん
18/02/15 00:18:11.97 .net
>>72
それまじか?
>>274
おつ!使った事がない!試してみる!
因みに俺はサーバ直結でEclipseで開発してるんだよね。
ローカルに開発環境作るのメンドクサイから。
PHP Stormもサーバ直結で開発出来ますか?

283:nobodyさん
18/02/15 03:37:49.22 .net
サーバ直結の意味がわからん

284:nobodyさん
18/02/15 07:27:24.90 .net
サーバーとSEX

285:nobodyさん
18/02/15 07:36:52.45 .net
有料 PhpStorm(業界標準)>SublimeText>VS
無料 IDE組(NetBeans,Eclipse)>古参エディタ組(Emacs,Vim)>新参エディタ組(VSCode,Atom)>触り組(メモ帳に準ずる物)
こんな感じだと思う
ちなみに俺はVS
PhpStorm以外は分散してて1割以上シェアないと思う

286:nobodyさん
18/02/15 08:00:37.57 .net
sakuraエディタやね

287:nobodyさん
18/02/15 11:09:59.46 .net
>>277
RSE
でぐぐってみぃ

288:nobodyさん
18/02/16 13:55:30.64 .net
ファイル管理のみ便利でDreamweaver使ってるわ

289:nobodyさん
18/02/17 12:47:25.93 .net
Visual Studio Communityで開発しようと思いインストールしたところ、
PHP Toolsのインストール過程で、デバッグ用に勝手にPHP入れたんですけど


290:、 それが元々入れてたPHPより新しいせいか(7.13→7.17)、Pathの順番を変えてみましたが、 php -vをした限り、cliからphpを呼び出す場合最優先になってしまってるようです。 インストールされたPHPは%ProgramFiles(x86)%\IIS Express\PHPに配置されてますが、 困ったことにphp.iniが編集禁止になっていて編集できません。 display_errorsがOffになってるのでエラー箇所の特定に難儀します。 スクリプト側でerror_reporting設定してみましたが、何も表示されずでした。 ならばと元々入ってた7.13のphp.exeをphp7.exeにリネームして、 cliからphp7で呼び出したら呼び出せるのですが、 こんな単純なexeだけのリネームで問題ないのでしょうか?



291:nobodyさん
18/02/18 15:31:50.99 .net
問題が起きた時にその問題について聞けよ

292:283
18/02/19 08:00:37.25 .net
Visual Studioのアップデートがきてたので適用したら、
非互換とかになってPHP Toolsでの開発が出来なくなりましたw
1日で使えなくなってしまった。

293:nobodyさん
18/02/19 21:41:51.01 .net
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆

294:nobodyさん
18/02/21 16:45:00.76 .net
未経験からWEBプログラマって本当かな
URLリンク(fenixjob.jp)

295:nobodyさん
18/02/22 07:13:48.19 .net
未経験 != 無知

296:nobodyさん
18/02/28 19:16:26.25 oG8SOZNq.net
DateTime::createFromFormatの第一引数に'Y-m-d'、第二引数に日付の文字列を指定して使うと
時刻は0時0分ではなく、現在の時刻が勝手に設定されます
一方、DateTimeのコンストラクタの方(日付の文字列だけを指定する)は時刻は0時0分になります
何でですか?意味が分かりません
DateTime createFromFormat without time - Freek Lijten URLリンク(www.freeklijten.nl)

297:nobodyさん
18/02/28 19:16:52.60 .net
1人でphpで作っているプロジェクト(と言ってもDBでユーザ管理するぐらいのもの)の
進捗状況(編集履歴)を外部に見てもらうためにはBitbucketとか使えば良い?
1日の終わりにプロジェクトのルートディレクトリごと放り込めば
webで差分とかがわかるとかできたらいいんだけどどうでしょう?

298:nobodyさん
18/02/28 19:19:01.97 oG8SOZNq.net
createFromFormatの場合、!が無いと現在のシステム時刻で初期化されるとは確かに書いてありますが
直感的でなくて分かりにくい挙動だと思います。
URLリンク(php.net)

299:nobodyさん
18/02/28 19:51:54.22 .net
URLリンク(github.com)
ここで追加されたコードみたいだしコミッター(Derick Rethans)に聞いてみたら
まぁ分かりにくいのは同意する
何で修正されないんだって話ならBC breakだからとしか

300:nobodyさん
18/03/07 19:24:41.03 .net
こんばんは。PHPで作ったページのInternal Server Errorについて質問です。
FC2のレンタルサーバーを借りて、WEBサイトを作っているところです。
PerlのCGIでページ�


301:�ると、エラーになると500 Internal Server Errorが表示されます。 ところが、PHPでページを作ると、エラーになると真っ白なページが表示されるだけで、 500 Internal Server Errorが表示されません。 これは一体なぜでしょうか? 現象 PerlのCGIでエラーが出ると →  ApacheデフォルトのInternal Server Errorのページが表示される。 PHPのページでエラーが出ると →  FireFoxとIEなら、真っ白なページになるだけ(エラー表示が出ない)  Chromeなら、ブラウザが出すHTTP ERROR 500の表示    (Apachデフォルトのエラーページではない) 上記のことから、PHPでエラーが出ると500が返ってきているのは 間違いないと思うんですが、なぜ、エラーが表示されず 真っ白なページになってしまうんでしょうか? よろしくお願いします。  



302:nobodyさん
18/03/08 02:07:16.32 .net
>>293
『PHP 真っ白』で検索

303:nobodyさん
18/03/08 06:24:23.39 .net
PHPになんらかのエラーがあった場合、通常はレスポンスコードは200で返ってきて、
エラー個所を表示するようになってる。
どの種別のエラーを表示させるかというのはサーバ側(PHP)の設定次第だし、
エラーには時に重要な情報も含まれる可能性があるので、
第三者に見られないよう、エラー表示自体をしないことも可能。
また、レスポンスコードをどう返すかというのもサーバ次第で、
通常200のところを、500にすることも可能だし、
同じ500でも、PerlCGIとPHPでは返すドキュメント(body)を別にすることも可能だし、
もちろんbodyを含まない、ヘッダ情報のみを返すことも可能。
早い話、全てはサーバの設定次第なので、FC2側で単にそうなっているだけなのだろうという事。
Chromeのやってることは、レスポンスにbodyがないので(=真っ白になる)、
ユーザに何が起きてるかわかるように、おせっかいにも補完表示してるだけと考えられる。

304:293
18/03/08 07:28:24.52 .net
>>294-295
ありがとうございます。
>>295によると、
 ・PHPではエラーがあっても200が返ってくる。
 ・ただし、ちゃんと実行できてないから、中身は真っ白になる
 ・PHPのエラー表示は設定で可能(←これはできました)
 ・サーバーの設定次第では500を返すことも可能
   (レンタルサーバーでは、設定を変えられるかどうかはサーバー次第)
ということですね?
何となく分かってきました。
ありがとうございます。

305:nobodyさん
18/03/08 12:56:24.58 .net
開発用環境を考慮してデフォルトではエラー表示はOnだけど
エラー表示関連はPHP_INI_ALLで一般ユーザが設定できるようになってるので
本番用環境のphp.iniは管理者側でデフォルトではエラー表示をOffにして
必要があればOnにするよう利用者に委ねるというのが行儀のいいレンサバ管理者
今は知らないけど昔xrea使ってた時はOnのままだったけどあれはよくない
URLリンク(php.net)
> ・PHPではエラーがあっても200が返ってくる。
> ・サーバーの設定次第では500を返すことも可能
デフォルトのエラー表示Onのままであれば200だけど
上記の通り本番環境ではOffにすべきであり
Offにしたらサーバ管理者がhttpdに細工をしない限り500が返るはず
fc2でエラーに500が返ってくるというのは正しい状態と見なしていい
> ・ただし、ちゃんと実行できてないから、中身は真っ白になる
fc2ではそういうことになるのだろう

306:nobodyさん
18/03/08 13:04:50.53 .net
ちなみに500ページを表示させたいというなら
htaccessが使えるなら設定してみては?
apacheは詳しくないんで答えれないけどできそう

307:293
18/03/08 13:10:55.13 .net
>>297
> デフォルトのエラー表示Onのままであれば200だけど
> 上記の通り本番環境ではOffにすべきであり
> Offにしたらサーバ管理者がhttpdに細工をしない限り500が返るはず
> fc2でエラーに500が返ってくるというのは正しい状態と見なしていい
FC2でPHPのエラーになると、IEとFireFoxは真っ白画面。
Chromeではブラウザーが出した500エラー画面。
なので、PHPエラーでちゃんと500エラーが返ってきてるって判断した。
不思議なのは、普通は404でも500でも、Apacheがデフォルトの
エラーページを送ってくるのに、なんで500エラーだけ
真っ白画面になるんだろう?ってことなんです。
実際、404エラーではちゃんとApacheのエラー画面が返ってくる。

308:293
18/03/08 13:16:27.67 .net
>>298
自作500ページを表示しようとして表示できないからおかしいなって思って、
いろいろ試して、Apacheデフォルトの500も表示されないって気付いた。
404とかは、自作にしたら自作が表示されて、
自作じゃなくしたらApacheのデフォルトが表示される。

309:nobodyさん
18/03/08 13:48:41.66 .net
phpがエラー検出したあとapacheに対してこれを返してくれと
500レスポンスコードにContent-Length:0の空のHTMLを送ってるイメージ

310:301
18/03/08 14:16:08.24 .net
if (responceStatus == 500 && responceBody.length == 0) {
 responceBody = readFile("/errors/500.html");
}
疑似コードだけど
こんな感じのをhtaccessで設定できるならいけるんじゃないのってことね

311:nobodyさん
18/03/08 14:57:47.09 .net
URLリンク(oshiete.goo.ne.jp)
FATAL ERRORが出るのが原因らしいが

312:nobodyさん
18/03/08 14:58:24.43 .net
typo FATAL→FETAL

313:nobodyさん
18/03/08 15:12:09.63 .net
PHPでどうこうするっていうソリューションはあんまりよくないよねえ
httpdでどうにかしたいところ
ところでresponceじゃなくてresponseだった恥ずかしい

314:nobodyさん
18/03/08 16:47:59.97 .net
>>304
修正前が正解

315:293
18/03/08 17:13:23.25 .net
>>301-302
真っ白になるイメージはまさに>>301だし、
やりたいことはまさに>>302の通りです。
>>303
それを読んで、挙動としてはやっぱりそうだったんだな、と分かりました。
そして、普通に500エラーを出すのは相当無理筋なんだな、と。
ってことで、みなさんいろいろとありがとうございました。
500エラーではなく、PHPの中でエラーを処理して
普通のHTMLでエラーメッセージを出す、ということにしました。
ありがとうございました。

316:nobodyさん
18/03/08 22:15:46.47 .net
PHPバカな子でごめんな

317:nobodyさん
18/03/11 00:58:34.82 .net
>>293
大方PHPがmod_phpで動いてる
phpinfo()でSAPI APIを確認してみ

318:nobodyさん
18/03/29 15:13:07.71 XiaDFUEL.net
Composerのautoload.phpって、全然autoloadじゃねぇんだよな。

319:nobodyさん
18/03/29 16:03:23.74 XiaDFUEL.net
URLリンク(github.com)
Q: but when I run phpuint --log-json I get unrecognized option --log-json. Was this feature intentionally removed from version 6?
A: Yes, this was removed.
「Yes,」じゃねぇよ、おっさん!
Any solutions for --log-json in netbeans8.2
I have same problem with this version. Someowne has any idea how to fixed it?
ここで終わってやがる…

320:nobodyさん
18/04/02 00:29:19.22 .net
セマンティックバージョニング的にもメジャーバージョンアップは後方互換性破壊があり得る変更なわけだし

321:nobodyさん
18/04/02 11:34:38.76 ZmEx8Txj.net
Logging Options:
--log-junit <file> Log test execution in JUnit XML format to file.
--log-tap <file> Log test execution in TAP format to file.
--log-json <file> Log test execution in JSON format.
--testdox-html <file> Write agile documentation in HTML format to file.
--testdox-text <file> Write agile documentation in Text format to file.

> 後方互換性破壊があり得る変更なわけだし(キリッ

はぁ?

322:nobodyさん
18/04/02 15:07:52.69 .net
ドキュメントからも消されてはいるな
URLリンク(github.com)
URLリンク(github.com)

323:nobodyさん
18/04/12 08:21:18.40 .net
FacebookがおもらししたのはPHPで構築されてたから?

324:nobodyさん
18/04/14 10:32:02.12 .net
techempowerでPHP系フレームワークの順位がかなり下なのは
単にPHPが遅いから?
URLリンク(www.techempower)


325:.com/benchmarks/ Shared-Nothingな事による初期化にかかるオーバーヘッドやらブロッキングI/Oを無くすことを狙った phppmとかReactPHPとかもあるらしいけど Shared-NothingとかブロッキングI/Oを前提に作った今までのコードは動かないよね そんなの使い物になんの? そこまでするんだったら別言語に移ったほうが良くね? https://github.com/reactphp/react/wiki/FAQ https://github.com/php-pm/php-pm/blob/master/README.md 遅いのはどうにもならないって事で PHPをアクセス数多いサイトで使う時は 静的キャッシュを行ってサーバーに負荷掛からないようにするのがデフォらしい



326:nobodyさん
18/04/17 06:20:15.60 .net
後はcssとjs、ファイルを分けずにhtmlの中に書いてしまう

327:nobodyさん
18/04/17 06:20:44.28 .net
要は読み込むファイルはhtmlファイル一枚だけにする
画像もsvg
そうすれば超早い

328:nobodyさん
18/04/17 10:37:30.26 .net
早い遅いいうけど人間の認識できる速度じゃないから
別に実用上はなんら問題ないんだよ

329:nobodyさん
18/04/17 10:56:24.98 .net
ローディング遅けりゃ離脱増えるぞ

330:nobodyさん
18/04/17 14:52:40.68 .net
そんなにI/Oにご不満ならメモリに全部展開しときゃいいよ
ユーザーの誰が気にするのかしらんけど

331:nobodyさん
18/04/17 22:46:50.61 .net
>>319
少し違う
phpやdb構築の際、速度を気にせずに重い処理を平気で書くことが出来るようになる
「これ重くなるだろうなぁ・・・かいてまえ!」→やり直し
が無くなる

332:nobodyさん
18/04/18 12:55:26.18 .net
URLリンク(hoge.com)

にアクセスしようとしたところ
writeable by group という初めてみるエラーに遭遇しています。
何が原因なのでしょうか?

Internal Server Error
Directory "/home/XXX" is writeable by group
suPHP 0.7.1

test.php自体には、 echo"testやで";
しか記述していません。

333:nobodyさん
18/04/18 14:13:48.65 .net
>>323
URLリンク(www.google.co.jp)

334:nobodyさん
18/04/18 14:47:55.41 .net
>>324
URLリンク(ameblo.jp)
このブログが参考になりました。

335:nobodyさん
18/04/18 23:39:44.72 .net
何が原因ってまんまエラーに書いてるのにそれがわからんってのがわからんでw

336:nobodyさん
18/04/22 12:53:22.27 qxkyJl8C.net
phpMyAdminってインターネットに晒すとヤバイの?
まあDBのパス漏れたら何でも出来ちゃうよね
あるいはphpMyAdmin自体に何か脆弱性があってもパスが漏れて終わる

337:nobodyさん
18/04/22 19:29:29.60 .net
>>327
それも分からないならweb制作やるべきじゃないと思う

338:nobodyさん
18/04/24 01:43:06.76 .net
攻撃者は狙ったアプリケーションのデフォルトの配置場所やファイル名でアクセスして
200が返ってきたらさらに調べてみて狙ったアプリケーションであるなら
既知の脆弱性を利用した攻撃あるいは管理ページ等にデフォルト情報でログインを試みる
すなわちメジャーなアプリケーションをインストールして公開する場合
デフォルトのパスワードを変えなければ狙われる
脆弱性が見つかった時点ですぐにアップデートしなければ狙われる
レンタル鯖の管理人でもなければ
どこからもリンクしない適当なディレクトリに展開しておけ
ついでにアクセス制限かけとけ
それだけでほぼ問題はない

339:nobodyさん
18/04/24 18:43:18.05 .net
なんだかんだ批判はあるものの、ウェブ開発においてPHPが業界標準なんですね。

340:nobodyさん
18/04/24 18:44:52.12 .net
phpMyAdmin自体がPHPで作られてるんだけど。
ところでphpは何の言語で作られてるんだ???

341:nobodyさん
18/04/24 21:42:59.47 .net
C

342:nobodyさん
18/04/24 22:55:40.59 .net
C

343:nobodyさん
18/04/25 00:24:46.61 .net
B

344:nobodyさん
18/04/25 09:45:41.44 Wx6vo3v+.net
phpMyAdminを複数の場所からアクセス出来るようにするには
SSHのポートフォワードを使えば良い?
IPアドレス制限はIPの管理が面倒 固定IPじゃないとたまに変わるし
VPNは金がかかる
phpMyAdminの認証に加えてBASIC認証orダイジェスト認証+中間者攻撃対策にHTTPSを使っても良いかもしれないが
認証フォーム自体へのアクセスは防げないのなんだかなあ
SSH認証なら有効な鍵を持っている人だけがphpMyAdminにアクセスできる
SSH鍵自体にもパスワード掛ければ更に安全と思う

345:nobodyさん
18/04/25 14:25:39.76 .net
まぁローカルホストからの接続に限定し, 認証と暗号化を備えたトンネルで接続するのであればちゃんと設定した上では安全でSSHポートフォワードでもVPNでも問題ない
VPNもセキュアでフリーな実装のOpenVPNとかあるから別に金もかからん

346:nobodyさん
18/04/26 01:41:21.66 .net
出来うる当たり前の対策をするしかないわな
URLリンク(stackoverflow.com)

347:nobodyさん
18/04/26 01:50:14.09 .net
制限もそんなガチガチの制限かけないで緩い制限でも効果はでかいのでは
攻撃なんてほとんど海外からだからね
jp制限かけられてるってわかればvpnとか通して偽装してくるかもしれないけど
他に狙うとこもあるしそこまでする攻撃者は稀なので

348:nobodyさん
18/04/26 20:00:38.27 e0kKtexp.net
【山口達也】  女子高生にチュー  × <差別番組Zip!> ◯  手繋ぎデート不倫  【川島海荷】
スレリンク(liveplus板)

349:nobodyさん
18/04/27 12:05:11.16 kBikjo8b.net
開 2 ち ゃ ん ね る= 便 所 の 落 書 き ・ 痰 壷 の 更 に 劣 化 コ ピ ー の 3 流 掲 示 板
運 営 の 性 格 の 悪 い 引 き こ も り I T 土 方 メ ガ ネ ザ ル 早 く 死 な な い か な

350:nobodyさん
18/04/29 10:15:31.52 .net
>>332
c言語は、web系の言語じゃないと思うが。

351:nobodyさん
18/04/29 11:47:12.71 .net
>>341
は?
phpはCで動いてるのは常識だぞ

352:nobodyさん
18/04/29 12:33:52.69 .net
>>342
じゃ、そもそもwebシステム最初からCで組めばいいじゃん

353:nobodyさん
18/04/29 13:52:45.22 .net
>>343
別にCで書きたければ書いても良いけど?滅茶苦茶早くなる
あらゆるphpの資産を失うけどね。まぁ頑張って

354:nobodyさん
18/04/29 17:05:45.10 .net
>>344
めんどくさいからPHPでええわ

355:nobodyさん
18/04/29 17:21:10.04 .net
PHP自体が何で書かれてるって聞かれたらそりゃCだろ
PHPだけじゃなくPythonもRubyもCで書かれた処理系が一番使われてる
WebサーバもnginxもApacheもC

356:nobodyさん
18/04/30 01:36:56.71 .net
>>341みたいなのがいるからPHPerはバカにされる

357:nobodyさん
18/04/30 06:51:03.66 .net
紛れ込んだ初心者か例外だろ
もっと優しくしてやれよ

358:nobodyさん
18/05/02 04:09:38.08 .net
スーパーグローバル変数の前後に.がついてる記述があるんですが
このドットはどういう意味なんでしょうか
例えばsql文をこんな感じで記述してたりするものです
$sql = "SELECT COUNT(*) FROM bbs WHERE name='''.$_POST["name"]."'";

359:nobodyさん
18/05/02 04:21:36.33 .net
>>349
スーパーグローバルどうこうではなく文字列連結演算子

360:nobodyさん
18/05/02 14:58:58.69 .net
count(*)だからたいして問題にはならんけど
それはsqlインジェクションの典型コードだから褒められたものではないな

361:nobodyさん
18/05/02 15:15:18.12 .net
寧ろSQLインジェクションのコード例まである

362:nobodyさん
18/05/02 16:58:11.13 XHGDuEA2.net
$_POST['name']="';drop table bbs";
とか単行でできなかったっけ?

363:nobodyさん
18/05/04 18:40:21.61 .net
>>353
出来ないはず
少なくともsqliteではできない
"忘れてるからでコメント入れとかないとシンタックスエラーになるわ

364:nobodyさん
18/05/04 19:02:58.13 .net
UNIONすればいいから

365:nobodyさん
18/05/11 21:01:57.13 w2CoFO3p.net
opendir()を使って指定したフォルダ内のファイル名一覧を取得したいのですが、
一つのセッションで何回も opendir()実行すると、その度にディスクにアクセスして
サイトの表示が遅くなりますか?良い方法ありますか?

366:nobodyさん
18/05/12 00:19:20.02 .net
中身かわったときに読み込んでDBなりファイルに書いときゃいい

367:nobodyさん
18/05/12 07:06:28.17 .net
静的データ使うのがベストだがopendirの回数を減らす方向だと
処理ステップが多いopendirをする前に
より単純な方法で比較すればopendirまで行かなくて済む
例えばフォルダのfilemtimeをセッション変数にぶっこんどくとか
ユーザ用のデータで外からの更新がないとか
セッション開始時から終了時まで使いまわして問題がないなら
セッション変数にファイル一覧ぶっこんどきゃいい

368:nobodyさん
18/05/12 11:48:03.93 MPdqrTl4.net
>>357>>358
レスありがとうございました。
>セッション開始時から終了時まで使いまわして問題がないなら
その通りなので
>セッション変数にファイル一覧ぶっこんどきゃいい
そうします。
ちなみにstatic変数を使ってやっても良いですか?

369:nobodyさん
18/05/12 21:11:01.72 .net
ページを表示した時点でプログラムが終了するので
次の動作(ページ遷移とか)をするとstaticじゃ保持されない
だからセッションやhiddenで持ちまわす

370:nobodyさん
18/05/14 12:05:38.71 bg4N3y/B.net
json_encodeで次のようになるデータを
[
{ "国": "アメリカ",
"地域": "ワシントン",
"人口": 19
},
{ "国": "日本",
"地域": "東京",
"人口": 7
},
{ "国": "日本",
"地域": "大阪",
"人口": 3
},
]
次のようにする方法教えて
[
"アメリカ": {
"ワシントン": {
"人口": 19
}
},
"日本": {
"東京": {
"人口": 7
},
"大阪": {
"人口": 3
}
}
]

371:nobodyさん
18/05/14 20:08:43.77 .net
$a = json_decode($encodedData);
foreach ($a as $v) {
 $b[$v->{"国"}][$v->{"地域"}] = $v->{"人口"};
}
var_dump(json_encode($b));
あとは調整しれ
つか>>1

372:nobodyさん
18/05/14 20:14:32.47 .net
$b[$v->{"国"}][$v->{"地域"}] = ["人口" => $v->{"人口"}];
だった

373:nobodyさん
18/05/14 22:20:49.44 .net
ありがとう助かった
スレチだったみたいだなスマソ

374:nobodyさん
18/05/14 22:47:48.22 .net
>>362
このくらいなら問題ないんじゃない?
手とり足とりって感じでもないし
JavaScriptも書く身としてはmapもアリかな
$a = array_map(function ($val) {
 $res[$val->{"国"}][$val->{"地域"}] = ["人口" => $v->{"人口"}];
 return $res;
}, json_decode($encodedData));
と思ったけどJavaScriptほどすっきりかけないからループの方がいいわ

375:nobodyさん
18/05/15 08:08:04.80 .net
$obj->{""}
この表記はあまりなじみがないから
初心者じゃなくても結構悩むかもね

376:nobodyさん
18/05/21 07:51:27.75 .net
phpで二回目にデータを渡すか、ユーザーの入力を待ちたい
////////ページ////////
[続けるボタン]
一回目の出力結果・・・
二回目の出力結果・・・
こんなページが作りたいのですが、
phpに書いたものはボタンを押すとリセットするようで、二回目が作れません
もしくは、while(){ボタン入力まで待機}
こんな書き方をしたいのですが、どちらかの実現方法を教えて下さい

377:nobodyさん
18/05/21 07:58:36.40 .net
sessionがあるみたいなのでやってみます

378:nobodyさん
18/05/21 14:36:19.77 .net
gRPCがPHPでRPCサーバーを作るのには対応していないのって何で?
PHP単体で動く(Apacheやnginxを使わない)まともなHTTPサーバーがないのが原因みたいに言われてたけど
それだけ?
そうだとして何でPHP単体で動いて
テストだけでなく本番でも十分使えるHTTPサーバーが無いのか

379:nobodyさん
18/05/21 14:42:31.54 .net
WEB画面から文字列を入力しDBにInsertすると文字の頭になんか変な文字が入ってました。
そこで、テーブル上のデータをSQLファイルでダウンロードして
サクラエディタで見たところ空白にしかみえないです。
しかし、その空白部分を選択してみると、サクラエディタの右下に
U+30AD となっています。何かの文字を表している様ですが分かりません。
これは一旦何が入っているのでしょうか?

380:nobodyさん
18/05/21 15:29:39.14 .net
>>367
JSONで非同期にしたら?
そんな処理でSessionとかcookie使うもんなの?

381:370
18/05/21 15:47:02.23 .net
SQLで insert文で 'キ' と入力するとなぜか'キ'の左側に
U+FEFF ← が入ってしまっています。

(U+30AD  → 「キ」でありこれは問題ありません。)

BOM??らしいです。なんで'キ'入力の時だけ入るんだろうか。

382:nobodyさん
18/05/26 21:31:37.47 .net
Laravelのドキュメントってどこにありますか?
公式laravel.jpのドキュメントはインストール設定と期待したものじゃないし
いくつか機能の紹介してるリンクはリンク切れだし
URLリンク(laravel4.kore1server.com)
唯一まともなクイックスタートもちょっと少なすぎます
なんか1つテーマにしてサンプルを説明つきで作るようなやつはないんですかね

383:nobodyさん
18/05/27 01:53:43.88 .net
甘えるな小僧

384:nobodyさん
18/05/27 10:33:53.98 .net
PHPはFWが乱立しすぎて首をしめてるな
その点node.jsはどこいってもexpressでいいよだから楽
環境構築でいえばPHPのほうがだいぶ楽だから
サーバエンジニアがいないとどうしてもPHPになってしまうのだろう

385:nobodyさん
18/05/28 11:18:24.32 .net
>>375
他に比べたらオプソFW乱立って程でもない
総じて質が低いのが問題
それに起因するのかオリジナルFWが輪をかけてゴミまき散らしてて首絞めてる

386:nobodyさん
18/05/28 12:20:46.25 .net
このスレで使うFWを統一しよう(名案
そしたら他の死んだスレで一向に答えが来ない独り言しないで済むしな

387:nobodyさん
18/05/31 15:25:27.48 .net
public function foo()
{
  return [
    'a' => 'b',
    'c' => 'd',
  ];
}
FWでこういうコードを入れる必要があるのですが、
何を意図してこんなことをさ


388:せるのですか? $foo = ['a' => 'b', 'c' => 'd']; でよくないですか?



389:nobodyさん
18/05/31 15:47:30.82 7ebU4p49.net
URLリンク(ab-abo.com)

390:nobodyさん
18/06/07 15:40:45.53 .net
ここのイケメン先輩達に質問しようと思って質問内容を整理して文を書いていたら、途中で答えがわかりました
ありがとうございました

391:nobodyさん
18/06/07 16:12:26.53 .net
おう良いってことよ
感謝を忘れるなよ

392:nobodyさん
18/06/07 17:10:31.89 .net
>>380
よくあるやーつ

393:nobodyさん
18/06/16 10:55:24.21 XFveZCTu.net
PHPって1リクエストで1プロセス使うの?
効率悪くね?
1万件コネクションあったら1万プロセス生成するの?
無理じゃね?

394:nobodyさん
18/06/16 11:33:21.06 .net
>>383
その辺はうまく最適化されてるからそこまで考えなくてもいい
実際、動いてるっしょ

395:nobodyさん
18/06/16 12:28:52.66 XsXx5YxH.net
【誘われたら、〝優秀″】 手に、マイクロ・チップ  ←<関/輿水>→  メール、ネットで公開処刑
スレリンク(liveplus板)

396:nobodyさん
18/06/16 12:38:57.88 WL8j0F1D.net
>>384
貧弱なサーバーだと一万もプロセス生成できなくね?
プロセス大量に生成しない他言語の方が有利でしょ

397:nobodyさん
18/06/16 13:48:58.44 .net
WebサーバがPHPを実行する際の仕組みに依存するんだから言語は関係ない
Apache+CGIならリクエスト毎にプロセス立ち上げるし
Apache+mod_phpならApacheのMPM次第だし
Apache/nginx+php-fpmならひとつのプロセスで複数のリクエストを捌くし

398:nobodyさん
18/06/16 14:16:49.57 XFveZCTu.net
>>387
>ひとつのプロセスで複数のリクエストを捌くし
同時には無理でしょ?
1万件接続されても1万プロセスは作らないけど
リクエストが来た時割り当てられるプロセスが無かったら
空きが出るまで待たされるってことだろ
nodeはそもそもApacheモジュールとかFastCGIとか使ってなくて
node単体でもHTTPサーバーとして動作するって話だ
nginxと組み合わせる場合はHTTPで通信する
nodeは非同期I/Oだから前のリクエストが終わらないと一切次のリクエストの処理が開始できないって事も無い
FastCGI自体1996年ぐらいに出てきてから
そんな進歩してないっぽいし

399:nobodyさん
18/06/16 16:23:45.43 .net
>>386
もちろんそう
phpは基本Cのラッパーだから、直接C言語で書けば爆速で動くよ
いつ完成するかは知らないけど頑張って
>>388
言ってる意味がよくわからなi
おそらくリクエストが最多のgoolgleやyahooが重くて仕方ないならその意見はわかるけど、
一体何に対しての意見なの?

400:nobodyさん
18/06/16 17:51:24.35 EG3qtVlZ.net
レストランで喩えると
コース料理を全部出し終わるまで
次の客を待たせるのがPHP
料理を作り終わって
客が食べている間に時間が空いても
他の客の料理は決して作らない

401:nobodyさん
18/06/16 19:20:14.63 m7Q1wvls.net
客一人に一人ウェイターが付くシステムのレストラン=PHP
ウェイターが5人なら注文を聞ける客は5人まで
それでもレストランで食事がしたい客は待つしかない
混雑に対応するにはウェイターの人数をかなり増やす必要がある
しかし常に大人数のウェイターを待機させておくと暇な時の人件費が嵩む
だからって混雑時だけ応援を呼ぶと対応に時間が掛かる
普通のレストラン=Node.js
一人のウェイターが複数の客の注文を取るので遥かに


402:効率的 混雑していても客はとりあえず店に入って注文を出せる 客の人数がウェイターの人数を超えると一切注文を出せず、料理も来ないPHPとは対照的 混雑時もPHPほど大人数のウェイターは必要ない



403:nobodyさん
18/06/16 21:53:50.62 .net
PHPスレで, しかもPHPに限らないことでPHPをディスってもなぁ
nodeが最適な場面は確かにPHPには向いてないだろうけど, それ以上でもそれ以下でもない

404:nobodyさん
18/06/16 22:52:57.98 DoWXS1Yy.net
プロセス生成(prefork)するので
今でも使われてるのってRubyのUnicornぐらいしか知らない

405:nobodyさん
18/06/17 14:49:10.70 .net
知ったかが何人もいるのか。お先真っ暗感

406:nobodyさん
18/06/17 14:52:25.05 .net
phpはそういう言語だからね
大丈夫

407:nobodyさん
18/06/17 15:15:30.67 dwEPgyzc.net
PHPでもnodeみたいな非同期処理を実現するものとして
php-pmとかSwooleがあるけど
本番で使ってる奴なんておらんやろ?

408:nobodyさん
18/06/17 15:47:59.14 .net
結局goの方が早いしな

409:nobodyさん
18/06/17 16:21:08.45 .net
非同期処理でややこしくするよりかはサーバー増やしたほうがよっぽどコストがかからん

410:nobodyさん
18/06/17 17:20:28.95 dwEPgyzc.net
Swoole使うと
最大で30倍近く速くなるらしいのでそれは暴論

411:nobodyさん
18/06/17 23:16:57.06 .net
1万リクエストあるからって1万生成されるわけじゃないし
プロセス生成数なんて気にする必要はない

412:nobodyさん
18/06/18 00:32:48.78 .net
実際Node.jsでそれだけ回すと非同期(笑)状態がよくあるしな

413:nobodyさん
18/06/18 09:00:28.15 vorT3MqW.net
URLリンク(laravel-news.com)
nginx/FPMの一般的な構成だと80.93リクエスト/秒なのが
Swoole仕様では8717リクエスト/秒に増加している
30倍どころか100倍以上
同期(笑)
メモリリークや不具合を起こす危険と引き換えに時間の掛かるPHPやフレームワークの初期化も省略できるからな
そりゃ早いだろ
php-pmはメモリリークを防ぐために一定数のリクエストを処理後に再起動出来たが
Swooleは知らない

414:nobodyさん
18/06/18 09:10:51.86 .net
Swoole自体は面白いと思うけど, FPMのチューンが分からないからその比較に意味は無い
仕組み上捌けるリクエストは増えると思うけども

415:nobodyさん
18/06/18 16:16:03.97 .net
Swooleって何?PHPのアプリケーションサーバー?

416:nobodyさん
18/06/18 16:20:58.89 .net
非同期ネットワークIOの拡張モジュール written by C

417:nobodyさん
18/06/18 16:41:14.62 .net
reactphpとはちがうのん?よくわからん・・・

418:nobodyさん
18/06/18 17:07:22.53 .net
使ったことないからアレだけど, 機能的には重複すると思う
Cで書かれた拡張かPHPで書かれたライブラリかの違い

419:nobodyさん
18/06/18 17:15:36.91 .net
なるほど、じゃSwoolのほうがよさそうだね
日本語資料少ないけどちょっと使ってみよう

420:nobodyさん
18/06/18 19:07:53.58 .net
Falconみたく中身弄れる人限定とかじゃないの?

421:nobodyさん
18/06/19 01:56:57.10 .net
従来PHPですべてやってたことを
PHP+AngularJSで開発しようとおもってます。
この場合PHPが行うことはWebAPIとして入力値からCRUDして
JSONなどAngularJS側で使うデータの出力でいいんですよね?

422:nobodyさん
18/06/19 23:28:58.36 sZEZNTYu.net
認証も必要

423:nobodyさん
18/06/20 08:19:33.32 .net
>>411
どうもありがとうございます。
作ったことはないのですが、確か最近の応用情報かなんかの過去問見たとき、
WebAPI作る問題出てて、そこでも確かにHTTPSでBasic認証してました。
ちゃんとWebAPIの作り方調べてやってみたいと思います。

424:nobodyさん
18/06/20 09:14:44.17 Xst2QP85.net
>>412
何で例に出すのがBASIC認証なのか
APIならOAuthとかじゃねえの

425:nobodyさん
18/06/20 09:26:37.65 Xst2QP85.net
自分一人が個人的に使うシステムでも無い限り
OpenAPIやSwaggerで仕様を明確化した方がよい
あるいは昔ながらのREST APIではなくGraphQLでも良いかもしれない
RESTは自分でも作れるかもしれないが
GraphQLは割と複雑な仕様なのでライブラリーが必須
OAuthはOAuthで難しい
変な実装をすれば車が通れる程の大穴セキュリティホールが開く
URLリンク(www.sakimura.org)

426:nobodyさん
18/06/20 09:52:37.08 .net
URLリンク(www.jitec.ipa.go.jp)
この問4か

427:nobodyさん
18/06/20 20:32:46.35 UnZq46Ab.net
プログラミングを誰でも習得できる方法は、「前場アキドルのプログラミングマスター方法」というブログで見られるらしいよ。ネットで調べると見られるらしいです。
5648W

428:nobodyさん
18/06/21 04:46:25.17 joNehjCV.net
掲示板が作りたくてデータベースとのやり取りをするPHPとそれのインターフェイスとなるHTMLを作りました
投稿時の想定は「まずHTMLにアクセスしてそこで項目を入力してPHPを通してデータベースにデータを入力」です
これはAjaxやPDOを使うことで作ることが出来ました
しかしHTML(JavaScript)のソースコードからPHPのファイル名を見つけてPHPを直接叩くことで簡単に荒らしが出来てしまいます
この問題を解決したいと思い、PHPをドキュメントルートから外したのですがそれはアクセスが出来ず失敗に終わりました
皆さんはこのような問題に対してどのような対策を施しているのでしょうか?

429:nobodyさん
18/06/21 05:56:58.20 .net
相手が荒らすのに苦労する仕組みを作るといい
1文字 同じ文字のみ 英数字のみ URLとかスパムに使われそうなものを制限する
連投制限の仕組み作る(IPベース、クッキーベース、セッションベース、それら組み合わせ)
若干面倒な登録を経て登録者のみ投稿できる会員制にする
ログと投稿をつきあわせて類似度を比較する(処理は遅くなる)
AIで意味のある文章か判断する(PHPerには難易度が高すぎる)

430:nobodyさん
18/06/21 06:50:01.75 .net
ワンタイムトークン

431:nobodyさん
18/06/21 11:05:43.80 .net
CSRF

432:nobodyさん
18/06/21 17:51:48.90 .net
直接PHP叩くのと、フォームから入力するのと、
マクロにとっては荒らしのしやすさになんの差もないと思うのだけど。

433:nobodyさん
18/06/21 22:09:54.17 p4z3zI1o.net
reCAPTCHA v3ではユーザーのアクションなしに相手がロボットがどうか
判別できるようになるらしい

434:nobodyさん
18/06/22 06:56:12.83 0CbeJ1vw.net
回答ありがとうございます
>>418-420
ワンタイムトークンが良さそうだと思いました
>>421
マクロだと確かにそうですね
IPアドレスで連投を規制したりすることも検討してみます

435:nobodyさん
18/06/22 14:11:43.65 HDxTbLco.net
PeachPieって言う.NETでPHP動かす環境あるらしいけど
どうなの?
そもそも使い物になる?

436:nobodyさん
18/06/22 21:01:21.02 .net
検索したらエロい店ばっかりでてきて吹いた

437:nobodyさん
18/06/22 21:02:21.49 .net
>>424
使ったこと無いけど、ASP.NET Webサーバー使ってるなら良さそう
ってかそれ意外になにもメリットなさそう

438:nobodyさん
18/06/22 21:16:34.26 .net
力技すぎて面白い

439:nobodyさん
18/06/23 09:41:34.58 ArmcQI4m.net
PeachPieはtechempowersのPlainTextのベンチマークでは99位
それでもFramework Overhead


440:でPHPより1.87倍ぐらい速い https://www.techempower.com/benchmarks/#section=data-r16&hw=ph&test=plaintext



441:nobodyさん
18/06/23 11:55:24.07 .net
CILにコンパイルされてから実行されるわけだからパフォーマンスは向上するわな(Phalangerと同じ)
あとはエクステンションがどのくらい互換性持って提供されるかだと思う
使い物になるかで言えば公式が「まだexperimentalだよ」って言ってる以上は(productionでは)全く使えない
>>428
plaintextのベンチとか意味あるの?

442:nobodyさん
18/06/23 12:38:28.80 JGE8gBSU.net
単なるプレーンテキストの送信でも言語やフレームワークによってかなり差が出るのは分かる
PeachPie自体はまだ実験的な物ではあるが
WordPressは既に動かせるらしい

443:nobodyさん
18/06/26 00:02:49.58 vSUzM4yv.net
composerってメモリ使い過ぎじゃね?
サーバーの利用可能なメモリが少ないとSymfony4のインストールすら完了しない
composerのロックファイルは
十分メモリのあるローカル環境で作り
メモリーの少ないサーバーではロックファイルからcomposer installするのがオヌヌメらしい
とは言えもう少し少なく出来ないのか?

444:nobodyさん
18/06/26 00:09:23.99 .net
プルリクあく

445:nobodyさん
18/06/26 00:10:24.54 R+4nVO22.net
あくってなに?

446:nobodyさん
18/06/26 07:56:36.12 .net


447:nobodyさん
18/06/28 16:38:17.84 .net
早くしろよ

あくしろよ

あく

448:nobodyさん
18/06/28 20:03:07.10 .net
汚ねえスレだなあ

449:nobodyさん
18/06/29 00:44:22.34 .net
>>410あたりを見て気になったんだけど
API作るというだけでは認証機構入れる必要これっぽっちもないよね?
BASIC含め簡単なものや固定のものは投げてる要求確認すれば丸わかり
バッチ等からのアクセスが主だったり他サイトに利用させるとかが絡むなら
事前認証してtoken吐いて……って機構が必要かもしれないけど>>410はブラウザ経由
認証つけるにしても、もしAPI以外でログイン認証してるならそっちのセッションをそのまま使える

450:nobodyさん
18/06/29 08:59:46.28 .net
いろんなところから利用可能にするためにWebAPI使うんじゃないのか

451:nobodyさん
18/06/29 09:31:29.33 .net
そらTwitterみたいに本家がユーザ認証前提の仕組みで他所でも認証してあーだこーだって話なら、な
例えばYahooのルビ振りWebAPIなんかは認証なんてない

452:nobodyさん
18/06/29 10:47:32.20 .net
appidってのがそうなんじゃないの

453:nobodyさん
18/06/29 12:09:11.00 .net
事前登録したIDを送るのは認証とはちょっと違くね

454:nobodyさん
18/06/30 13:16:02.58 HFlHS16J.net
composerはなぜかパッケージのダウンロードが一個ずつって特徴もある
並列化する非公式プラグインはあるが
何で公式は並列ダウンロードしないのか
URLリンク(github.com)

455:nobodyさん
18/06/30 13:23:07.35 .net
なぜかって普通だし
さして重要じゃないだろそれ

456:nobodyさん
18/06/30 14:09:23.84 HFlHS16J.net
並列ダウンロードが当たり前の他のパッケージマネージャに慣れていると
遅く感じる
プラグイン作者によるプルリクエストがcomposerにあったが
マージされるのはいつか分からない

457:nobodyさん
18/06/30 14:13:48.30 .net
composer使うのやめればいいじゃん

458:nobodyさん
18/06/30 15:02:10.11 TwF5k2FW.net
PHPもやめます

459:nobodyさん
18/06/30 17:48:37.84 .net
そもそもcomposerってなんで出てきたの?
必要なのこれ
composerじゃなきゃダメなことなんかあるの

460:nobodyさん
18/06/30 18:04:13.84 grfnyPlf.net
知らないのに使わなければ良いとか言ってんの?

461:nobodyさん
18/06/30 18:11:10.91 .net
フレームワーク使いたい奴には必須かもしれないけど
それ以外は別に使わなくても問題ない�


462:@っていうイメージ つか何故公式が云々って公式の気持ちなんか知るか国語のテストかよ



463:nobodyさん
18/06/30 18:44:02.99 grfnyPlf.net
composerの中の人は忙しいので
並列ダウンロードは皆があったら便利だと思う機能とは知っているが
優先度を低くしている
そんな感じでプルリク作成から2年経った

464:nobodyさん
18/07/01 01:30:55.83 .net
あれから2年、君は成長できただろうか

465:nobodyさん
18/07/01 12:23:54.18 .net
composerは車輪の再発明が嫌いな
再利用大好人間たちがコードを持ち寄って使いあったり
そこから新しいのを作るためのなれ合いツール

466:nobodyさん
18/07/01 12:49:01.19 .net
pear/peclが要らなくなるわけじゃないんだよな

467:nobodyさん
18/07/01 13:49:42.07 .net
peclはともかくpearはいらないだろ

468:nobodyさん
18/07/02 09:37:25.47 .net
composerにあるライブラリって全部PHPでしょ?
pearを進化させたようなもんだよねたぶん

469:nobodyさん
18/07/03 16:36:16.92 4gji1WrU.net
これどう作るの?
URLリンク(goo.gl)

470:nobodyさん
18/07/03 19:57:52.06 .net
最近必死すぎだろw
飢え死ねアフィカスwww

471:nobodyさん
18/07/03 20:05:02.85 .net
ComposerのロゴはGo以来のイラッと感を覚えるわけよ

472:nobodyさん
18/07/03 22:45:29.42 nJxIsGZ6.net
PHPの拡張ってプロジェクト毎にはインストール出来ない?
拡張を実行時に動的に読むdlって関数が昔あったらしいが
削除されてるし
dlは使い物にならなかったのか
他言語ではC拡張のあるライブラリも
他のライブラリと同じ様に
そのプロジェクトだけのインストールができるのが普通

473:nobodyさん
18/07/04 00:27:41.45 .net
URLリンク(php.net)
普通にextension_loaded()でいいんじゃないの

474:nobodyさん
18/07/04 00:54:24.18 .net
>>459
現状出来ない
実行時に拡張をロードする機能自体が存在しないのでどうにもならない
やりようがあるとすれば実行時ロード機能を提供するPHP拡張を作成することくらい
PECLに登録して最終的に本体にバンドルされるところまで至らないとエコシステムには取り込まれないだろうなぁ
rasmusとかandiとかzeevとかの基幹メンバーがとんでもなく保守的だし正直何やっても絶望的だと思う
この辺は割とマジで根本的に設計上の欠陥だと思うわ

475:nobodyさん
18/07/04 02:12:15.23 .net
.phpから拡張を読み込むことができるようになると
セキュリティホールが量産されそうな気がするが
その辺、大丈夫なのか?

476:nobodyさん
18/07/04 03:09:24.37 .net
何となくそういう懸念が浮かぶのは分かる
ただ他言語, 具体的にはPythonとかRuby, Nodeなんかでは頻繁に使われてる
system系の関数使って実行ファイルを叩くのとどう違ってくるのかと考えると別に実行時に拡張ロード出来ても良かろう(dlが削除されたのは安定性が理由だと書いてあるし)

477:nobodyさん
18/07/04 03:49:54.33 .net
PHPの用途で動的に読み込めると何が嬉しいのか、
まともな理由がないから削られちゃったんだろ

478:nobodyさん
18/07/04 06:31:20.45 .net
プロジェクト毎にPHPインストールすりゃいいんじゃね

479:nobodyさん
18/07/04 07:52:00.71 .net
>system系の関数使って実行ファイルを叩くのとどう違ってくるのかと考えると
systemやexecは、php.iniで包括的に設定するしか手がない disable_functions 設定で禁止できる
かなり違うんじゃないかね
URLリンク(php.net)
>このディレクティブは、Apacheモジュール版のPHPを使用した場合にのみ 有用です。
>PHPの動的ロード拡張機能をdl()で 仮想サーバー毎またはディレクトリ毎にオンまたはオフに変更することが できます。
>
>動的ロード機能をオフにするのは主としてセキュリティ上の理由によります。
>動的ロード機能により、 open_basedir の拘束を全て 無視することが可能になります。

480:nobodyさん
18/07/04 09:59:47.40 VNkVp5lL.net
そもそもdlって最近は削除されて使えないんじゃなかったの?

481:nobodyさん
18/07/04 20:40:21.34 .net
exec使える状態って
アホなアップローダとか置いてた日にはopen_basedirの拘束なんて無視して好き放題されちゃうよね

482:nobodyさん
18/07/05 04:15:11.30 .net
>>466
いや, php.iniだけで動的モジュールロードの可否を与える(php.iniのみで設定可能な)ディレクティブがあれば一緒だろ
自分でdlの例出してるじゃん
mod_phpで実行する場合は権限がWebサーバになるからそれが嫌だというのはよく分かるが

483:nobodyさん
18/07/05 04:17:30.15 .net
変なところにペーストしちゃったけどまぁいいや

484:nobodyさん
18/07/05 08:10:38.44 6vNW6Lds.net
dlは安定性に問題があるから削除したって言うけど
他の言語で出来ていることが何で出来ない?
PHPはリクエストの度にメモリの内容破棄するから?

485:nobodyさん
18/07/05 16:56:15.00 .net
extensionの動的ロードしたいってどんなとき

486:nobodyさん
18/07/05 17:14:15.92 .net
劇的ロードなら

487:nobodyさん
18/07/06 12:54:55.48 .net
age

488:nobodyさん
18/07/06 13:03:04.29 .net
hage

489:nobodyさん
18/07/06 14:57:23.38 P0O2iWzc.net
PHPは巨大化し過ぎた
山ほどあるビルトイン関数を削除して
プログラミング言語に最低限必要なライブラリだけをOOPで作り
使うかどうか分からない機能は動的ロードするようにすべきだ
そんな事したらもうPHPじゃない?
そんなの知るか

490:nobodyさん
18/07/06 15:48:38.10 g8pVEt14.net
そこまでするならフォークして別言語にしろ
QIQとかかっこいい名前付けてもいいぞ

491:nobodyさん
18/07/06 15:51:08.89 .net
>>477のセンスを向上させるにはどうしたらいいですか

492:nobodyさん
18/07/06 17:09:27.76 .net
ビルトイン関数なんて削っても
PHP本体のソースコードがすっきりするだけで
別に劇的に早くなるわけじゃないしユーザ側が受けるメリットなんて大してないだろ

493:nobodyさん
18/07/06 20:02:27.67 AtnEoX2L.net
すっきりしたら
ごちゃごちゃの状態よりバグが少なくなったり
本体が小さくなるとかのメリットはある
配列とか文字列がプリミティブ型みたいな扱いなのも
なんとかしる
array_系の関数が重ねて適用しようとしたら使いづらいったらありゃしない

494:nobodyさん
18/07/06 20:52:45.52 .net
デフォルトでなんでもアリだからこそ受けてると思うんだけどな
今の時代で多少軽くなってもたかが知れている。ってかそもそもそんなに重くないだろう
そんなに重いならsmartyでも使えばphpの負荷は大きく下がる

495:nobodyさん
18/07/06 21:03:08.11 .net
smartyでphpの負荷が下がるってどゆこと

496:nobodyさん
18/07/06 21:30:44.60 YHCASoUv.net
ビルトイン関数使ってたら
テストを書く時モックするのが難しい
time()とかrand()とか
名前空間使ったハック(\timeのように書いてると不可)やPHP拡張を使う方法もあるが
他の言語だとそんなの必要ないじゃん
キモい
テストを全く書いてない奴はお帰りください

497:nobodyさん
18/07/06 22:22:39.57 .net
rubyのnokogiriみたくネイティブライブラリをラップするライブラリって使えれば需要あると思うけど
特にcomposerが普及した今なら更に

498:nobodyさん
18/07/06 23:05:33.81 wqmurizE.net
今どきsmartyって…w

499:nobodyさん
18/07/07 07:12:24.91 .net
php4時代のコードでも少しの変更でphp7で動くようにできるというのがphpのメリットで
何するにしても後方互換の問題があるわけで
pythonのような英断をしなければphpが変わることはないし
成熟してしまって時期的にそのチャンスはもう逃した
お前らがforkして新php作ればいいよ
まあオリジナルの差分をコミットする作業が面倒で3日で匙投げるだろうが

500:nobodyさん
18/07/07 12:18:10.37 y8vJRkpl.net
既にHackで爆死経験済みだろ。

501:nobodyさん
18/07/07 14:07:12.63 .net
pythonはpythonで2と3が両立していた時期があってあれはハチャメチャだった

502:nobodyさん
18/07/07 14:21:17.62 .net
php++の前段階として既存の糞ビルトイン関数のラッパークラスをphpで作ればいいよ

503:nobodyさん
18/07/07 14:39:31.14 .net
namespace php\lang;
class String extends Object
{
 public function __construct($_str)
 {
  if (is_string($_str)) $this->str = $_str;
 }
 public function htmlEscape()
 {
  $this->str = htmlspecialchars($this->str, ENT_QUOTES | ENT_HTML5, 'UTF-8');
  return $this;
 }
}

504:nobodyさん
18/07/07 15:39:21.40 2YJkuak7.net
あらゆるライブラリがそのラッパークラスとやらに対応してくれないと
何度も変換する必要があって使いづらい

505:nobodyさん
18/07/07 16:24:29.33 .net
言語ごとラッパー作るなんてできるのか?

506:nobodyさん
18/07/07 19:39:28.88 .net
イメージ的にはJavaScriptに対するjQuery
jQueryの書き方に慣れてきたころにjQueryの構文やオブジェクトを実装したJavaScript2登場みたいな

507:nobodyさん
18/07/07 20:28:57.57 2YJkuak7.net
PHPの言語仕様が嫌だが
PHPのライブラリや既存コードも使う必要があるってなら
他の言語で書いてPHPに変換出来るAltJSならぬAltPHPを使えば良いかも
ただ、PHPの場合それが出来て
ある程度人気があるのはHaxeだけだと思う
JSは本当に色々あるのに
URLリンク(stackoverflow.com)

508:nobodyさん
18/07/07 20:35:32.20 2YJkuak7.net
HackはPHPと互換性があるがVMも違うやつ使う必要があるから
AltPHPでは無いよね

509:nobodyさん
18/07/07 20:43:49.76 .net
糞だと思うなら使わなけりゃいいじゃん

510:nobodyさん
18/07/07 20:53:26.11 .net
JSはPHP以上にカオスだと思うんだけどな

511:nobodyさん
18/07/07 20:55:25.59 .net
JSはundifendeの辺りが怖すぎる

512:nobodyさん
18/07/08 14:20:25.97 .net
そんなにjsがいいならjsの子になっちゃいなさい!

513:nobodyさん
18/07/08 15:23:04.10 4WOWpkJq.net
JSはブラウザで動くのがJSしか無いから
AltJSみたいのが生まれたけど
サーバーサイドは別に代わりがいくらでもあるしね

514:nobodyさん
18/07/08 15:34:54.96 .net
ブラウザで動くのがjsしかないのが異常というか
jsだけとはいえブラウザで動かせること事態が本来異常というか

515:nobodyさん
18/07/08 15:47:47.44 .net
jsで、任意のファイルを読み書きできるの?
出来てしまうとセキュリティ上やばい気がするのだが。。。

516:nobodyさん
18/07/08 16:18:42.43 4WOWpkJq.net
>>502
なんの話?
ブラウザのJSは勝手に他サイトやファイルシステムの内容を読めるAPIは無いし
脆弱性を利用してブラウザのセキュリティを突破しようにも
サンドボックスがあったりして難しい

517:nobodyさん
18/07/08 17:48:47.31 .net
サーバサイドプログラムでjsを使う場合の話です。
任意のファイルの読み書きはできるのでしょうか?

518:nobodyさん
18/07/08 18:08:13.66 .net
node.jsならできるよ。
require('fs');

519:nobodyさん
18/07/08 21:06:37.76 .net
jsだからどうという話ではないな。nodeがそうだというだけで。

520:nobodyさん
18/07/08 22:18:37.29 .net
nudeなら

521:nobodyさん
18/07/09 01:54:41.35 .net
他所でしてくれ

522:nobodyさん
18/07/09 14:38:37.47 .net
>>502=>>504なら
なぜPHPならセキュリティ上問題ないと思った?ていう
まぁ多分本人が考えてることと他のやつが考えてることが違うのだろうけど

523:nobodyさん
18/07/09 14:59:42.48 .net
まあお茶でも飲んで落ち着けよハゲ

524:nobodyさん
18/07/09 19:52:51.86 .net
これが落ち着いていられるか!

525:nobodyさん
18/07/14 17:07:18.88 8nY3xhKd.net
このスレであってるかな…?
掲示板を作れるようになりたいんだが、正直マジでCSSとHTMLと少しのPHPの知識(スクレイピングなど)ぐらいしか知識がなくてどういう仕組みなのかわからない。
PHPで掲示板って作れる?
理想としてはガールズちゃんねるそのまんまなのが作れたら最高

526:nobodyさん
18/07/14 17:24:51.99 .net
掲示板と言っても、DBを使う/使わないで難易度が大きく変わる
作らなくてもその辺にサンプルどころかそのまま使えるものが山程落ちてるよ
それを改造するところから初めてみては

527:nobodyさん
18/07/14 17:37:27.52 8nY3xhKd.net
>>513
DBを使わないPHPの簡易掲示板はコピペしたり改造したりしてなんとか作れた。
ただ、txtファイルに書き込みデータを保存する方法だと簡易的すぎるかなと。
理想はガルちゃんみたいにユーザーが自由にトピックを立てられる形にしたいから、DBを使ってやりたい…
どっかにわかりやすい雛形でもあればいいんだけど、何から手をつければいいかすらわからない…

528:nobodyさん
18/07/14 17:46:54.13 .net
>>514
俺も昔やろうとしたんだけど、掲示板はセキュリティに気をつけないとあっという間に終わる
更にセキュリティ的に問題なくても、連投や巨大投稿、大量の改行コードだけの投稿などをどう取り扱うかで永久に終わらない
トピックというかスレでいいなら
「2ch風掲示板 cgi」
「2ch風掲示板 php」
この辺で検索してみてはどうかな

529:nobodyさん
18/07/14 17:48:37.61 .net
要求仕様を実現するのに最低限必要なことと、そうでないことを切り分けられる頭がないと無理
ガルch形式のbbsも2ch形式のbbsもc, perl, php, その他わりとどんな言語でも作れる
それとtxt方式かDB利用かは直接関係ないし
どちらにしてもどのようにデータを読み書きするかという設計を自分で出来ないと話にならない
コピペと改造でなんとか、ってレベルで何が簡易的なのか判断しようとしてる時点でおかしいことに気付け

530:nobodyさん
18/07/14 17:50:06.34 .net
まぁこういうアドバイスはガン無視して、結局自分で作ってから気づくんだよね
俺の時もそうだった
とりあえずDBは使わない形がいいよ、セキュリティと言う名の闇が待っている

531:nobodyさん
18/07/14 17:54:21.71 .net
技術がなにで出来てるのか勘違いしてるパターン

532:nobodyさん
18/07/14 17:55:49.32 .net
cgi拾ってきてcssとjs設定すれば終わりなのに、何でそんなに難しくしたがるんだろう

533:nobodyさん
18/07/14 18:23:17.42 .net
テキストかデータベースかは、見た目や運用上の設計には関係ないから、とりあえずテキストでいいと思うよ。
書き込みや読み込みの処理の部分をあちこちでやらずに1箇所で行うように設計すれば、あとでデータベース式に変更するのも修正箇所が少なくて済む。
テキストファイルは拡張子をphpとかplとかにして、直接アクセスされたら実行エラーになるようにしておけばよいかと。

534:nobodyさん
18/07/14 18:24:08.65 .net
BBS {
 int createThread(string $title);
 bool deleteThread(int $threadId);
 Gererator readThread($threadId);
 bool writeThread($threadId);
 bool saveHTML(string $template);
}

535:nobodyさん
18/07/14 18:37:57.75 8nY3xhKd.net
>>515
っぽいねー。
実はtxt自動生成して書き込み保存する簡単な掲示板を設置して見たことがあるんだが、放置してたら謎の大量文字化け(スクリプト?)の投稿で荒らされまくってダメだった…

536:nobodyさん
18/07/14 18:39:40.35 8nY3xhKd.net
>>516
ありがとう。
txtかDBってとこがポ


537:イントではないんだね。 txtファイルでも書き込み内容の分類やら保管やらをしっかり設計できれば運営していけるってことか…。 なんとなく通常のサービスはDBを利用してるからDBが正義だと思ってたわ。



538:nobodyさん
18/07/14 18:44:13.44 .net
まぁ最初から完璧なものなんて作れるわけないしまずはウダウダ言ってないで動くものを作れと

539:nobodyさん
18/07/14 19:21:07.65 .net
>>522
海外アクセス弾くだけでほぼ無くなる。「htaccess 海外 拒否」などで検索
もしくはNGワードの処理をかます。
これは書き込み後にテキトーに判定してdie()するだけでいい。めんどくさい事は後で考えて、生産的な事をまずやろう

540:nobodyさん
18/07/14 20:48:13.31 .net
>>525
私は書き込み文字の中に全角文字がひとつも無かったら、「全角文字を含めてね」ってメッセージを出して弾くようにしたら、海外のスパム書き込みは100%排除できました。

541:nobodyさん
18/07/14 21:12:36.64 .net
>526
頭いいな、いろんな意味で完璧な対策と思う
素直にすごい

542:nobodyさん
18/07/14 21:25:53.98 .net
中国弾けなさそう

543:nobodyさん
18/07/14 21:46:15.25 .net
>>528
確かに中国語だと弾けないですね笑
でも今まで中国語の書き込みは無いです。
てか、もし私が中国のスパム業者なら、日本や欧米の掲示板に中国語で書き込んだりせず、書くならやっぱり英語だと思います。

544:nobodyさん
18/07/14 23:27:28.81 .net
ジェレレーターw

545:nobodyさん
18/07/15 14:57:05.88 OQU8pbJ/.net
考える人より手を動かした人の方が早く覚えるよ
まずは本買うなりサイト見るなりして作ってみればいい

546:nobodyさん
18/07/15 18:25:13.91 .net
外部設計と内部設計の違いもわからないような奴が
いくら本を読んでも手を動かしても100%無理
既存のサービスやプログラムをとっかかりにして
仕様も機能もひとつひとつなぜ存在するのかなぜこうなってるのか学ぶしかない

547:nobodyさん
18/07/15 18:40:30.19 .net
公開されてるの?

548:nobodyさん
18/07/16 01:05:08.50 .net
公開されてるのもある
公開されてないものも設計を考える力を養うにはもってこいの材料

549:nobodyさん
18/07/16 21:26:48.20 .net
!omikujiみたいな公開しないとわからん機能じゃなくて
使ってて目に見える部分であれば
たいていどういう風に作るかイメージが沸く
このスレの人はtwitterだろうがfacebookだろうが作ろうと思えば作れるんじゃないか?
気力がない 作っても流行らない うっかり流行ったら500との闘い 解消するためにサーバ月何十万
PHPerの限界とは経済力と時間の限界なのである

550:nobodyさん
18/07/16 21:30:35.61 Jh/2B4in.net
AWSもLinuxもそこそこ扱えるし作ろうと思えば作れるけど、
レッドオーシャンに飛び込むような元気はない

551:nobodyさん
18/07/16 22:29:54.30 .net
このぐらいだったら作れる
URLリンク(stdput.com)

552:nobodyさん
18/07/16 22:36:10.37 .net
機能それぞれ単体なら比較的容易
全部まとめて、さらにセキュリティ、速度、……となると設計だけでも
かなり複雑になってくるから時間がかかるようになる
ただ、10年前の自分じゃ機能単体もおぼつかなかったと思う

553:nobodyさん
18/07/17 20:43:36.89 .net
>>536
今の知識もったまま20年前にタイムスリップしたいよな

554:nobodyさん
18/07/18 12:47:15.98 B1Xdglk2.net
【放射能の影響か?】 道路の真ん中で直立不動で失神しているトンビ、多発している認知症事故と関連!?
http://


555:rosie.5ch.net/test/read.cgi/liveplus/1531880720/l50 動物まで意識障害?



556:nobodyさん
18/07/20 17:25:59.13 .net
JSのように
$a = 10;
$b = $a || 20;
echo $b; //20
にならんかなあ
これ糞便利なんだけど
論理演算子はorだけでもいいよねえ

557:nobodyさん
18/07/20 17:26:34.38 .net
$a = 10;
$b = $a || 20;
echo $b; //20
ごめんこれ10だわw
$a = 0って書いたつもり

558:nobodyさん
18/07/20 17:50:29.12 .net
null合体演算子(??)を使え
短絡評価した結果何を返すのかなんて後から変えられるわけねぇだろ

559:nobodyさん
18/07/20 19:43:58.83 .net
型ってもんがあるからtrue/falseで返してくれないと怖い

560:nobodyさん
18/07/20 23:00:07.46 .net
>>543
Python3 呼んだ?

561:nobodyさん
18/07/20 23:26:40.30 .net
>>545
いっそそこまで覚悟出来るならやればいいとは思う
混乱はあったけど結果としてPythonの決断は正しかったのだろう
とは言え短絡評価を結果をbooleanにするのも最終評価値にするのも良し悪しだからなぁ

562:nobodyさん
18/07/20 23:57:25.93 .net
何が入るかわからないのがな
最悪を想定するなら短絡評価の前に中身の判別を入れなきゃならない
想定した型かどうか事前に判別するなら短絡評価要らない

563:nobodyさん
18/07/21 17:38:08.88 gWhxLgcg.net
$b = (!empty($a)) ? $a : 20;
NULL合体演算子はissetだからだめだな

564:nobodyさん
18/07/21 19:13:06.04 .net
JavaScriptも三項演算子使えるんだからそれでよくね
短絡評価は言語ごとに差があるからあんまり使いたくない

565:nobodyさん
18/07/21 19:16:09.41 .net
愚直でもわかりやすい判断分岐で書かれてると読む人間にはありがたい

566:nobodyさん
18/07/21 19:18:20.55 .net
なんでも短絡や三項にすれば短いだろってより
素朴にIF文使って書いてある方が
読みやすい場合が多々あるな

567:nobodyさん
18/07/21 19:25:35.94 .net
ネストしてないに限れば三項演算子は読みやすいな
条件部分を>>548のようにちゃんと()で囲ってればif文の変化形にも見えるし
コーディング規約で禁止してるとこは結構あるし賛否両論なのは確かだが

568:nobodyさん
18/07/21 19:33:59.72 .net
phpで三項演算子のネスト書く奴は頭からカレーかけられても文句言えない
ネスト階層が深けりゃコーンスープ付き

569:nobodyさん
18/07/22 05:26:38.13 .net
ifだとクロージャー使って即時実行したくならない?
if (!!$a) {
 $b = $a;
} else {
 $b = 20;
}
$b = (function() use ($a) {
 if (!!$a) {
  return $a;
 } else {
  return 20;
 }
})();
上だとなんか感覚的にいやだ

570:nobodyさん
18/07/22 05:45:59.43 .net
何に代入しているのかを特に明示したいならそれでいんじゃね
単純な代入ならインデントで即わかるとは思うが
読みやすさわかりやすさを理由に(if等で)わかりやすい分岐を・・・って話の流れで
if使いながら$aそのまま(のbool変換値)ifに流すだけなところと
ifに渡すだけの箇所で!!$aってやってるところが意味不明だが

571:nobodyさん
18/07/22 06:26:18.55 .net
> !!$a
これ、 $a == true と等価だよな?
数文字タイプする手間を惜しんで2回反転させる計算コストを発生させてる?

572:554
18/07/22 06:58:19.63 .net
booleanキャストのつもりで使ったが
確かにいらんな

573:nobodyさん
18/07/22 07:54:39.39 .net
素直メンはイケメン

574:nobodyさん
18/07/22 08:21:29.99 .net
!!って書けることを知らなかったw
!!!もできる?

575:nobodyさん
18/07/22 08:32:08.34 .net
やってどうすんのよ

576:nobodyさん
18/07/22 09:22:46.00 .net
エントロピーを増


577:大させるのだ



578:nobodyさん
18/07/22 10:22:27.72 .net
>>560
その発想がなかったから、そんな事できるんだって目から鱗なだけ。

579:nobodyさん
18/07/22 10:39:15.79 .net
!!!$varは!$varと等価だろ

580:nobodyさん
18/07/22 11:57:10.28 .net
いやだからさ、そんな事もできるんだ!
すごい面白い!
じゃあ何個まで重ねられるんだろう?って話だよ。
どこかでエラーにされて怒られるとは思うけどさ。

581:nobodyさん
18/07/22 13:15:13.80 .net
eval()あんだから自分で試してみりゃいいじゃん

582:nobodyさん
18/07/22 13:35:16.79 .net
>>554
下はJavaScriptが好きそうだな
「名前空間が汚れる」とか言って
でも上のシンプルな方が読みやすい
>>556
>$a == true
これもこの素朴な方が分かりやすい
「!!$a」とか多用すると読みにくい
トリッキーな書き方より
それを抑えて読みやすくする方が大事

583:nobodyさん
18/07/22 15:58:11.39 .net
unless (!!$a || !$b)

584:nobodyさん
18/07/22 17:01:30.11 .net
>>550
>>551
同意
書く方は短い方が書きやすいんどろうけど

585:nobodyさん
18/07/22 19:17:55.24 .net
短く書くことが目的化してるコードはバグ出やすい上にデバッグし難いんだよなあ

586:nobodyさん
18/07/22 19:19:38.87 .net
でもさすがにisset($_POST/$_GET)は三項演算子使うでしょ?

587:nobodyさん
18/07/22 19:23:07.08 .net
>>570
filter_input 使うから、使わない

588:nobodyさん
18/07/22 19:35:16.04 .net
まとめて初期化、まとめて確認って手もあるしなあ
スタンダードというわけじゃなし

589:nobodyさん
18/07/22 19:40:11.51 .net
filter_inputってバリデーションでしょ?
issetしたあとに使うものだよね?

590:nobodyさん
18/07/22 19:56:43.65 .net
転載アフィか何かなの?

591:nobodyさん
18/07/22 20:01:42.81 .net
その辺の処理は各々好きにしろとしか
・NOTICEが出ない
・その後の処理でバグを生まないようにする(デフォルト値設定、検証除去etc)
これが出来てれば良いわけで

592:nobodyさん
18/07/22 20:10:17.68 .net
>>573
マニュアル読んでみ。幸せになれる。スーパーグローバルから開放されるぞw

593:nobodyさん
18/07/22 20:36:58.12 .net
>>554
elseまでいかんでも
$b = $a;
if (!$b) $b = 20;

594:nobodyさん
18/07/22 20:41:29.86 .net
>>575
後々、それが出来てるかどうか、バグを生んだのがそこかどうか確認するのに
文字数少ない代わりにわかりにくい書き方とか最悪だろって話

595:nobodyさん
18/07/22 20:47:50.31 .net
$aの型が例えばintなどと保証されてるのか?
保証されてるなら!$aなんてint(0)の判別にしかならないのに直感的じゃない
保証されてないなら'abc'やarray(0)が来た時どうすんの

596:nobodyさん
18/07/22 20:52:50.72 .net
三項演算子の何がわかりにくいのか理解に苦しむな
ワンライナーで書けるってだけでif-elseと変わらんのに
(condition)
?
 when-true
:
 when-false
;

597:nobodyさん
18/07/22 21:18:33.98 .net
プログラム書く上で1行で書けるかどうかってなんか価値があるの?
コードゴルファーphp?

598:nobodyさん
18/07/22 21:22:28.39 .net
if( ~~~~ ) ~~~~; else ~~~~;
三項演算子の特権じゃないじゃん

599:nobodyさん
18/07/22 21:25:51.63 .net
>>581
1行だ短いだなんだじゃなくて、何がわかりにくいのか理解不能

600:nobodyさん
18/07/22 21:34:23.08 .net
ワンライナーって見ただけで私アホですと脳内変換されるわ

601:nobodyさん
18/07/22 21:36:59.50 .net
>>584
ぺちぱーってバカにされんぞ

602:nobodyさん
18/07/22 21:39:59.36 .net
>>585
ワンライナー
-rオプション使いまくってる人?えっ違うのですか?
ぺちぱー
吠えてるだけ

603:nobodyさん
18/07/22 21:42:00.36 .net
関数型言語で発狂してこいよ

604:nobodyさん
18/07/22 21:42:30.07 .net
価値はある
行数ベースで費用計算してるとき安くなる

605:nobodyさん
18/07/22 21:43:56.87 .net
三項演算子は短く書くためのものじゃないが。
その程度の理解なのなら自分で言ってるように使わないのが無難だな。
無駄にマウント取ってるのは笑えるがw
ifelseは組み込み制御構文で三項演算子のように式が要求されるところには置けない(評価されて値になれない)

606:nobodyさん
18/07/22 22:05:07.77 .net
同じことが実現できる場合の書き方の比較であって
誰もそんな当たり前の話しとらんのだが

607:nobodyさん
18/07/22 22:06:35.91 .net
嘘乙w

608:nobodyさん
18/07/22 22:09:52.68 .net
ドヤ顔マウンターぺちぱー(笑)

609:nobodyさん
18/07/22 22:25:04.60 .net
で、1行でかけることになにか価値あるの?

610:nobodyさん
18/07/22 22:29:44.80 .net
ないよ。正確にいうと関係ない。
一行で書くためにあるものじゃないからね。三項演算子は。

611:nobodyさん
18/07/22 22:34:07.28 .net
なんで話の流れと関係ないのに、三項演算子だけの特権でもないのに、ワンライナーで書けるってことをわざわざ書いたの?

612:580
18/07/22 22:39:48.38 .net
ん?俺がワンライナーとか言ったのがまずかったのか?
普通三項演算子はワンライナーで書くもんだからそう言っただけなのだが
別にそこはメインじゃないし主題ではない
?:という2つの演算子しか使っておらず、間違い探しをするようなものでもなく
何がわかりづらいのか理解できないって話をしただけ
ちなみに会話してんの俺じゃないぞ・・・

613:nobodyさん
18/07/22 22:40:24.80 .net
少ない行がいいなら最期に&#165;rと&#165;nを置き換えて1行にすればいいやんm

614:nobodyさん
18/07/22 22:44:10.15 .net
>普通三項演算子はワンライナーで書くもんだから
俺ルール広めようとしないでくれない?

615:580
18/07/22 22:49:21.00 .net
主観ではあるけど
googleで画像検索したりしても、実際ワンライナーが多数派じゃない?
そもそもネストするようなケースじゃほとんど使われないし
これも主観だけど感覚的に正しいと思う

616:nobodyさん
18/07/22 22:53:20.12 .net
改行とインデントで整えないなら1層ですら可読性低いんだけど
しかし、なんで一行・1行などと書かないでワンライナーって書くのかね
文字数多いじゃん検索用ってか

617:nobodyさん
18/07/22 23:10:04.34 .net
if (age < 18) {
  if (gender == 'male') {
    title = 'Master';
  } else {
    title = 'Miss';
  }
} else {
  if (gender == 'male') {
    title = 'Mr';
} else {
  title = 'Ms';
}
if (age < 18) {
  title = (gender == 'male') ? 'Master' : 'Miss';
} else {
  title = (gender == 'male') ? 'Mr' : 'Ms';
}
title = (age < 18) ? (gender == 'male') ? 'Master' : 'Miss' : (gender == 'male') ? 'Mr' : 'Ms'

618:580
18/07/22 23:14:53.52 .net
可読性の定義は人によってさまざまだけど
長ったらしいのはかえって可読性が下がると俺は思う
>>601では真ん中が一番読みやすい

619:nobodyさん
18/07/22 23:16:56.10 .net
ビットにしてswitchしよう

620:580
18/07/22 23:19:58.63 .net
一番上がおかしかった
if (age < 18) {
  if (gender == 'male') {
    title = 'Master';
  } else {
    title = 'Miss';
  }
} else {
  if (gender == 'male') {
    title = 'Mr';
  } else {
    title = 'Ms';
  }
}
やっぱこれは俺にはあってないな

621:nobodyさん
18/07/22 23:20:56.62 .net
一番下もおかしいんだが
php書けないのか

622:580
18/07/22 23:25:42.57 .net
>>605
これPHPじゃないし
三項演算子の可読性について、stackoverflowで引き合いに出されてたコード
PHPは評価の仕方が他の言語と違うので
そもそも一番下のようなコードは書いたことがない

623:nobodyさん
18/07/22 23:33:07.26 .net
>>602
同意
ネストしないなら3項演算子がシンプルでよいがネストさせるヤツは死ねと思ってしまう

624:nobodyさん
18/07/22 23:37:49.88 .net
俺Pythonistaだけど、{}が読みづらい原因だから、こうするといいよ。
if ($age < 18)
  if ($gender == 'male')
    $title = 'Master';
  else
    $title = 'Miss';
else
  if ($gender == 'male')
    $title = 'Mr';
  else
    $title = 'Ms';

625:nobodyさん
18/07/22 23:43:15.32 .net
PSR-2>呼んだ?

626:nobodyさん
18/07/22 23:59:30.06 .net
$titles = [
 'male'  => [ 'u18' => 'Master', 'other' => 'Mr' ],
 'female' => [ 'u18' => 'Miss',  'other' => 'Ms' ],
];
$age_category = ( $age < 18 ) ? 'u18' : 'other' ;
// もしくは
if( $age < 18 )
 $age_category = 'u18';
else
 $age_category = 'other';
$title = $titles[ $gender ][ $age_category ];
一定以上複雑なときはこうしておくかな
判断が増えたとき処理構造を大変更したくないから
というか、性別やu18かどうかをフラグで持っておくのが普通だと思うが
三項演算子だとすごく短い2つの文字列どちらか選択とかならまだいいけど
関数や式が絡むと : の区切りがわかりづらくなるんだよな

627:nobodyさん
18/07/23 00:00:45.23 .net
実務的にはそれぞれ属性を自分のobjectに聞いて、って感じのが多いかな

628:nobodyさん
18/07/23 00:14:43.72 .net
stackoverflow探してみたけどそれっぽいのが見つからないわ

629:nobodyさん
18/07/23 00:48:54.19 .net
URLリンク(www.quora.com)
stackoverflowではないな

630:nobodyさん
18/07/23 01:16:15.86 .net
echo 'こんにちは、' . ($name && strlen($name) > 0) ? trim($name) : "anonymous" . "さん";
$name = ($name && strlen($name) > 0) ? trim($name) : "anonymous";
echo "こんにちは、{$name}さん";
var = a ? b : c;を徹底して、
それ以外を組み込んだ、上のような使い方をしなければ問題ないと思う。
Viewには処理済み変数のみを埋め込むのを徹底すればいい。

631:nobodyさん
18/07/23 01:22:26.76 .net
表示名の場合はだいたい
$nameを先に'anonymous'で初期化しておいて
セッションがあってDBから取ってくる等の時に$nameを上書きする
ってやるよね

632:nobodyさん
18/07/23 01:27:12.91 .net
そだねー

633:nobodyさん
18/07/23 01:27:21.03 .net
条件2つ処理する2x2の構図でも
条件1の結果によって条件2の式自体が変わる場合は
Balancedケースでも可読性落ちるよね

634:nobodyさん
18/07/23 01:44:19.98 .net
三項演算子を使うときに可読性が落ちない条件を突き詰めていくと
一重であることと
代入される部分が簡潔で統一されてることのほかに
条件部分が簡潔で統一されてることも必要だと思うんだ
18<=ageのときは性別にunknownやnewhalfが追加されたら、途端に難解になるし
age<18ではgender==='male'だけど18<=ageではchecktitle(age,gender)の戻り値だったりすると、わりとめちゃくちゃ

でもそうするとvar=(a)?a:20;みたいな条件になりがちになって
短絡評価のわかりにくさの話に戻るんだよね
$var = (expr) ?
  value1 :
  value2 ;
みたいな書き方だったら多少複雑でもいい

635:nobodyさん
18/07/23 01:46:11.40 .net
簡潔じゃないと1重なのか2重3重になってるのかパッと見てわからないからな
その辺ifでは迷ったことがあまりない

636:nobodyさん
18/07/23 06:55:36.75 .net
> 18<=ageのときは性別にunknownやnewhalfが追加されたら
そこまでくると>>603が良さそう
1(under18)
2(over18)
4(male)
8(female)
16(unknown)
32(newhalf)
ちなみにnewhalfじゃなくて
shemaleとかladyboyが正しいおっぱいおちんちんMAN

637:nobodyさん
18/07/23 07:10:51.79 .net
なんだそれは
ageもgenderも1つに閉じ込めてbit演算するならunder18/over18は下位1bit、genderは以降上位bit、ってとこだろう
maleやfemaleを両方選択可能の並存状態にしてどうするんだよ
2値が1種、4値が1種なら3bitで済むだろう

638:nobodyさん
18/07/23 07:29:32.52 .net
そもそも話題が>>618の趣旨とは離れることだが、1点付け加えると
条件がどう動くかわからず拡張性を考えるのであれば
愚直にifやswitchで構造化するか
>>610のように1つ1つ条件を絞れば引き当てられるtableを作るのが筋だろう
ageの判定処理は完全固定と断定できないだろうし
age自体を現在日付とユーザ誕生日設定によって動的に取得させることになる可能性がある
フラグ化してのbit演算では柔軟性・拡張性に乏しい、全然良さそうじゃない

639:nobodyさん
18/07/23 09:03:36.27 .net
えせグラマ

640:nobodyさん
18/07/23 10:47:42.67 .net
$age+$genderでやれば拡張も容易

641:nobodyさん
18/07/23 11:17:26.62 .net
elseifを使えばネストなく簡略化できる
sql のselect case見たいな表記できる
if ($age < 18 and $gender == 'male') {
 $title = 'Master';
} elseif ($age < 18){
 $title = 'Miss';
} elseif ($gender == 'male') {
 $title = 'Mr';
} else {
 $title = 'Ms'
}

642:nobodyさん
18/07/23 11:34:04.40 .net
$title = [
 5=>'Mr', 6=>'Master',
 9=>'Ms', 10=>'Miss',
 17=>'Mr/Ms', 18=>'Master/Miss',
 33=>'Mx', 34=>'Mx'
];
switchは伸びがちになるしテーブル作るより遅くなるけど
可読性の面では
case GENDER_TS+AGE_UNDER18:
case GENDER_TS+AGE_OVER18:
 $title = 'Mx';
みたいに出来るから考えようによってはいいかもね

643:nobodyさん
18/07/23 11:39:51.37 .net

配列も出来るらしい
$title = [GENDER_TS+AGE_UNDER18 => 'Mx'];
みたいに
知らなかった

644:nobodyさん
18/07/23 11:43:37.99 .net
>>610と比較して1次元になるだけでメリットはないな

645:nobodyさん
18/07/23 11:48:06.16 .net
条件使わなくて済むよ
下準備も大変になるけど

646:nobodyさん
18/07/23 12:06:46.43 .net
>>625
ぱっと見何やってるのかよくわからない
三項演算子もそうだけど結局読む人のレベル次第だな

647:nobodyさん
18/07/23 14:58:02.10 .net
>>629
三項演算子だと処理が煩雑になるほど記述が鬱陶しくなるか難しいかのトレードオフじゃん

648:nobodyさん
18/07/23 15:11:43.17 ci3EIyjd.net
Pythonにすれば良い
$bar = $fooVal == 10 ? $trueVal : $falseVal
の代わりに
$bar = $trueVal if $fooVal == 10 else $falseVal
みたいに書けてちょー分かりやすい

649:nobodyさん
18/07/23 15:14:29.70 .net
ちょー(笑)

650:nobodyさん
18/07/23 15:19:01.63 .net
phpどころかビット演算というプログラムの基本すら知らない奴が居付いている

651:nobodyさん
18/07/23 15:21:44.19 KYWJiLD7.net
関数型言語では同じ変数に何度も代入するって事は基本やらない
明示的に値を変更可能な変数にすれば再代入可能だが
乱用すると関数型使う意味が無くなる
なぜ再代入を避けるかって言ったら
理由は色々あるが
一番はバグの原因になるから
ScalaにもPythonのような式扱いのif文があったり
switchが無く代わりにmatchを使うのもそれが理由

652:nobodyさん
18/07/23 17:34:07.95 .net
ビットフラグ立ててるだけでビット演算をしてるわけじゃないからな

653:nobodyさん
18/07/23 18:00:32.66 .net
初見のわかりやすさってのはシンボルか単語かの違いってのが大きいのだろうけど
みんな大嫌い正規表現だって慣れれば大したことはない
三項演算子はネスト出来ることが問題なのであってネストしなければ問題はないのである

654:nobodyさん
18/07/23 18:05:34.79 .net
正規表現わけわかんないよ
慣れるしかないんだろうね

655:nobodyさん
18/07/23 18:17:28.84 .net
どこまでが条件部かどこが区切りか
誰が見ても即座にわかる単純明快なケース限定ならいいかもね
それかキッチリ改行入れること

656:nobodyさん
18/07/23 19:16:40.02 .net
改行が減る=行数ベースの料金が下がる
文字数が減る=文字数ベースの料金が下がる

657:nobodyさん
18/07/23 19:38:29.41 .net
プログラムがより単純化するのは流れであって
コード単価あげるか 成果物に対して報酬をもらえば�


658:ィk



659:nobodyさん
18/07/23 20:20:18.09 .net
正規表現はperl時代に超覚えてマスターした気になっていたが、
PHPやJavaScriptだと微妙に違ったり後方参照も違ったり、
なんか1日中悩んでたりする。

660:nobodyさん
18/07/23 21:10:25.52 .net
>>642
言語で微妙に違うんですね
苦手です

661:nobodyさん
18/07/23 21:41:55.31 .net
>>643
慣れの問題だと思います。
PCREなのに使いこなせない自分が情けない…
preg_matchすら悩むw

662:nobodyさん
18/07/25 20:02:42.21 .net
parse_ini_fileの結果を取得するときに、
セクション名そのものを取得したい場合はどう書いたら良いでしょう?

663:nobodyさん
18/07/25 20:27:43.62 .net
2番目の引数にtrue設定すればいいんじゃね

664:nobodyさん
18/07/25 21:42:20.18 .net
ありがとうございます。
それは知っていたんですが、そういう次元じゃなかったです。
変数名をtypoしていただけでしたw
お騒がせしました…

665:nobodyさん
18/08/01 15:19:07.84 .net
typo typer

666:nobodyさん
18/08/01 16:33:29.44 .net
ペチペスト

667:nobodyさん
18/08/02 09:21:17.41 .net
ペチパン

668:nobodyさん
18/08/03 08:21:39.65 .net
Windows版のPHP7(XAMPP)で、posix関数を使うにはどうしたら良いですか?
今は特に何もせずにデフォルトインストール状態で、
関数がundefinedエラーになってしまいます。

669:nobodyさん
18/08/03 08:30:42.36 .net
URLリンク(php.net)
>注意: この拡張モジュールは Windows 環境では利用できません。
どうしたら良いかというと、VirtualBoxでWindowsの上にLinuxを乗っける、などしか手はないかと

670:nobodyさん
18/08/03 09:00:23.87 .net
了解です。ありがとうございました!
OS判定して、Windows版の時はその処理はスルーして目を瞑ることにします。
PHPはやっぱりLinuxの方がいいですね。

671:nobodyさん
18/08/04 14:46:44.62 .net
URLリンク(php.net)
この辺使ったりshell_exec系使ってcmd叩けば似たようなことはできるんでないの

672:nobodyさん
18/08/05 09:24:57.34 .net
ActiveRecodeのORMはたくさんありますけど
パフォーマンスが特に優れてるおすすめのものありますか?
処理性能重視したらPDOでSQLゴリゴリ書いたほうがいいのでしょうけど
いまいち自分のSQLに自信がもてないのでSQL書くのは減らしていこうと思っています

673:nobodyさん
18/08/05 10:18:40.81 .net
早過ぎる最適化

674:nobodyさん
18/08/05 13:09:36.79 .net
どれでも大差ないんじゃね?
一番メジャーなのを使っておくのが後々のため…

675:nobodyさん
18/08/05 15:07:22.88 .net
DB設計を確認したほうがパフォーマンス改善効果見込めるのでは

676:nobodyさん
18/08/05 15:07:42.32 .net
俺がそうなんだけど、抽象化がたりないとSQLベタ書きDAOパターンになるよね。

677:nobodyさん
18/08/05 22:12:43.12 .net
元DB屋的にはORMで結合グチュグチュやるより
出来るところはビュー作っといた方がいい希ガス

678:nobodyさん
18/08/05 22:36:24.70 .net
DB担当に流せる仕事は最大限DB担当に流してしまえという風潮
合理的だと思う

679:nobodyさん
18/08/06 19:58:51.12 .net
composerってなんでjsonわざわざ書くの?それが主流みたいだけど
installコマンドは一応用意されてるんだよね?
なんか理由あるんですか?

680:662
18/08/06 20:00:59.88 .net
installじゃなくてrequireか
composer require 'namespace/some_package.3.2.1'

681:nobodyさん
18/08/06 20:38:35.03 .net
流行り
かっこいい気がする
OSSのフロントエンドはこんなノリ

682:nobodyさん
18/08/07 09:57:45.32 spyDBr61.net
どっちもできることにこしたことはないと思うが

683:nobodyさん
18/08/07 10:39:10.39 .net
質問失礼します。
2つサーバーを試行錯誤しながら立てました。
サーバー①には Environment で USER と HOME の設定がありません。
サーバー②には phpinfo で Environment の USER と HOME が設定されているようでした。
--------
USER hoge
HOME /home/hoge
--------
Environment の設定している場所を特定したいのですが、どこを見たら良いでしょうか?
/etc/httpd/conf/httpd.conf
/etc/sysconfig/php-fpm
/etc/sysconfig/httpd
上記のファイルは調査しましたが hoge が見当たりませんでした。
よろしくお願いします。

684:nobodyさん
18/08/07 10:44:03.07 .net
そのapacheを起動した人が手順を知らないか間違えてるんだと思うぞ。
環境変数が付いてる方の起動方法を間違えてる。 
個人のプロセスじゃないのに、個人の環境変数を引き継いでどうすんだよw
serviceコマンドとか使わずに、いきなりhttpdを起動したんじゃないかと。

685:nobodyさん
18/08/07 11:11:49.87 .net
> Environment の設定している場所を特定したいのですが、どこを見たら良いでしょうか?
hogeユーザのHOMEディレクトリ指定はApache httpd側ではなくOS側
/etc/passw d
たぶんLinuxだと思うけど、ならここに書かれてる
ただし、わかってるなら直接編集してもいいけど通常はコマンド経由で変えるもんだと思う

686:nobodyさん
18/08/07 11:17:25.39 .net
>>667
>環境変数が付いてる方の起動方法を間違えてる。 
>個人のプロセスじゃないのに、個人の環境変数を引き継いでどうすんだよw
別に$HOMEが設定されてること自体はあんまり問題じゃないかも
個人の環境変数を引き継ぐ、というのも……じゃあ誰権限で実行すんの?ってことだし
"service httpd"等で起動していても、誰かの権限で動くのだから
※Windowsだとサービス化してればlocalService権限だっけ
んなことよりデーモン起動ユーザのシェルを/sbin/nologinにしとこう

687:nobodyさん
18/08/07 11:26:09.24 .net
どんなユーザ権限で実行しているか等は基礎の基礎
起動ユーザ権限のことを知りたければhttpd.confのUserとGroupの説明をよく嫁そして100%理解しろ

688:nobodyさん
18/08/07 11:38:33.77 .net
かの有名なqmailの作者であるdjb様は、
env - /path/to/bin
のような起動方法を推奨してたぞ。
って今時そんな人知らんかw

689:nobodyさん
18/08/07 11:43:59.63 .net
Linux serviceコマンド 環境変数
これでググっておけよ。
環境変数を意識してないと超レアだが意図しない結果に繋がる可能性はある。

690:nobodyさん
18/08/07 11:48:30.16 .net
単純にchkconfig/serviceで動かすようにしたところ意図せずroot権限で動かしてしまってて書いた.phpの穴突っつかれて以下略
こわいこわい

691:nobodyさん
18/08/07 11:55:14.18 .net
httpdをrootで動かすにはコンパイルオプションが必要…

692:nobodyさん
18/08/07 12:00:18.77 .net
phpのコンパイル直後のmake testに疑問を感じて早数年
でも毎回ちゃんとやってちゃんと結果確認してる

693:nobodyさん
18/08/07 12:03:09.00 .net
>>668 >>669
ワロタ

694:nobodyさん
18/08/07 12:04:52.52 baYuORhx.net
>んなことよりデーモン起動ユーザのシェルを/sbin/nologinにしとこう
なんで?
起動ユーザはrootで、nologinにするのはWorkerプロセスのユーザでしょ。
ApacheにしろNginxにしろ、そういう風に作られてるわけで。
単一で動くタイプとごっちゃにしたらいかんよ。

695:nobodyさん
18/08/07 12:13:53.51 .net
>>677
全面的にすまんかった
> nologinにするのはWorkerプロセスのユーザ
こっちを意図して「デーモン起動ユーザ」と書いてた

696:nobodyさん
18/08/07 12:39:41.49 .net
chsh -s /sbin/nologin root

697:nobodyさん
18/08/07 12:44:15.65 .net
root router

698:nobodyさん
18/08/07 14:28:42.07 .net
突然思い出したが、
むかーしのFre


699:eBSDってnologinの中身がexitって書かれてるシェルスクリプトだったなw



700:nobodyさん
18/08/07 14:33:20.67 .net
それで機能しちゃうもんなのか

701:nobodyさん
18/08/07 17:00:47.53 7Qa/G72W.net
/bin/falseとかでもええんやで。

702:nobodyさん
18/08/07 17:39:43.15 .net
特に理由もなく/dev/nullが好きだった時期があった

703:nobodyさん
18/08/07 19:04:34.22 .net
UNIXアカウント=メアドという古き良き安全なインターネットの時代は、
/usr/bin/passwdをログインシェルに設定して、
パスワード変更はtelnetで繋ぐとかもあったな。

704:nobodyさん
18/08/07 22:31:33.33 .net
>>666
php-fpmならpool.dは見たのかな
php-cgiでsuexecやmod_suphpならユーザー権限になって当然だし
>>667
あなたの環境では非特権ユーザーがポート80をバインドできるようにlibcapを使っているんですね
それはあまり普通じゃないので、人と話すときの前提にしない方がいいですよ
>>671
バーンスタイン先生はEd25519でSSHやTLS界隈じゃバリ現役

705:nobodyさん
18/08/08 01:27:35.83 .net
phpで、 $var = 'text'; // ←これ、この代入を検知して代入直後に何らかの処理を自動発動させる、ってこと、できる?
ループ中で逐一$varをチェックする、というようなのではなく

706:nobodyさん
18/08/08 01:38:57.92 .net
その代入文の次の行に処理書けばいいだけでは?

707:nobodyさん
18/08/08 03:47:12.65 .net
オブジェクトにしてセッター通す

708:nobodyさん
18/08/08 07:06:46.06 .net
>>686
無理してるなあ

709:nobodyさん
18/08/08 10:39:23.28 8EBBnoJ7.net
>>686
qmailとかなんとかdnsとかdaemontoolsとか見事に全部放り投げたなw
あんだけ他攻撃してたくせに。

710:nobodyさん
18/08/08 15:42:04.42 .net
PHPマニュアルってすげー優秀だなー
セキュリティーで嫌煙されてるがCHMが用意されてるのがでかい
これでネットもつながらない山の中でもPHPならスムーズに開発ができるわ

711:nobodyさん
18/08/08 15:53:58.68 .net
CHMってなんだと思いかけたけど
あれかhtmlヘルプファイルの.chmか
用意されてるの知らんかったサンキュー兄貴

712:nobodyさん
18/08/08 16:53:50.96 .net
>>693
おうよブラザー
ダウンロードしたCHMはセキュリティ厳しくなっててそのままじゃ見れないから
プロパティ開いてブロック解除忘れずにね

713:nobodyさん
18/08/08 17:11:31.35 .net
>>691
しかし、あの考え方はその後に大きな影響を与えたと思う。
Postfixなんてのが良い例かと…
攻撃という意味では、日本のqmaiサイトを運営してた某教授の方が酷かったw

714:nobodyさん
18/08/08 19:06:25.42 .net
>>691
public domainにしてくれたのはありがたかった
qmailはまだまだ現役で運用してるとこ結構ある
djbdnsはパッチなしだと来年死ぬけどね
>>695
大岡山かw

715:nobodyさん
18/08/09 02:14:42.91 .net
djbdns使ってないからdjbdnsが来年ってなんだろうと思って 2019年 djbdns ぐぐった
2番目に出てきたURLのタイトルが「2019年入籍日おすすめランキング」だった
終わってんな

716:nobodyさん
18/08/09 02:42:28.01 .net
わたしもqmailまだ使ってる

717:nobodyさん
18/08/09 08:04:46.57 .net
daemontoolsってCD/DVD/BDとかの仮想ソフトじゃなかったっけ
って思ったら全く関係なかったでござる

718:nobodyさん
18/08/10 17:13:37.72 .net
ドラえもん道具?


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch