PHP質問・雑談スレ4【初心者お断り(ROM歓迎)】at PHP
PHP質問・雑談スレ4【初心者お断り(ROM歓迎)】 - 暇つぶし2ch86:nobodyさん
17/08/12 05:45:54.17 .net
ええ・・・

87:nobodyさん
17/08/12 08:39:04.21 .net
生じゃないと安心できない

88:nobodyさん
17/08/16 00:40:58.25 FXSi5oh2.net
自宅にWebサーバ立てたのですが
FireWallとかよくわからないので
そのまま自作Webサイトを公開しているんですが
FireWallあるのと無いのでは何が違うんでしょうか?
一応現時点では80番ポートのみ開放しているのでそれで十分かと思ってるのですが
想定される不正アクセスはどのようなものがあるのでしょうか?

89:nobodyさん
17/08/16 01:03:05.64 .net
それらの質問はphpと直接関係あるのでしょうか?

90:nobodyさん
17/08/16 01:10:44.19 .net
>>86
手書きで ../../ とか親ディレクトリをたどられないかとか、
存在しないURL・ファイル名指定されて index一覧をダダ洩れさせてしかも親へ移動できちゃわないようにしっかりチェックしてね
まぁ面倒なら .htaccessでがちがち設定にしとけばいいよ

91:nobodyさん
17/08/16 01:40:26.18 +9VPpAQA.net
>>88
それってFireWallとは関係ない話なんだがw

92:nobodyさん
17/08/16 02:06:01.90 .net
>>89
>想定される不正アクセスはどのようなものがあるのでしょうか?
って書いてあるからその状態(port80のみ開放)ではどんないたずらを速攻でされ易いかという意味で合ってるだろ

93:nobodyさん
17/08/16 02:08:35.30 .net
マジでphp全然関係ねえ

94:nobodyさん
17/08/16 02:14:51.36 .net
それはそうだwディレクトリ掘りの後にクエリ捏造でphpの出番が来るけどな

95:nobodyさん
17/08/16 02:18:43.56 .net
php側のセキュリティはphpコード側で何やってるかがまず問題だしなあ
セキュリティよく分からないのに自宅鯖とか
愚劣を極めてるやつにピンポイントであれこれ教えても無意味

96:nobodyさん
17/08/16 02:34:51.22 .net
スレ違いなの分かってるけどどうしてもこれだけは言っておきたい
普通の意味でファイアウォールと言ったらTCP/UDPレイヤでの操作だけども, 80と443以外のポートはきちんと閉じていますか, と
22とかまともに設定せずに開放してたら踏み台にされてるんじゃねーのか

97:nobodyさん
17/08/16 09:35:32.54 .net
ルーターはハードウェアファイアーウォールだし、
サーバ側にソフトウェアファイアーウォールが入ってなくても問題はない。
外に持ち出しして、不明な構成の外部ネットワークからつないだりしたら問題になるかもしれんが。
ただ↑の指摘のようにsshは気軽に誰でもアクセスできちゃうと、
パスワード突破されたらサーバが乗っ取られるので、
ポートは22以外を使うのと(スキャンされにくい1024以降)、lan内と外から使うかもしれない一部プロバイダ以外からは遮断する。
その細かな制御は高性能のルーターじゃないと出来ないので、ソフトウェアファイアーウォールが必要になる。
まぁWindowsサーバだろうし、sshとかも入れてなさそうだけど。なんにしてもスレチだな。

98:nobodyさん
17/08/16 09:39:42.33 .net
スレリンク(sec板:216番)

99:nobodyさん
17/08/19 15:17:36.82 .net
xxx.xxx.[0-255].[0-255]正規表現でこのような指定は出来ないので、
if ($yourip == fn("xxx.xxx.0.0/16"))
このようなサブネットマスクでIPを調べれる関数とかありませんでしょうか?

100:nobodyさん
17/08/19 15:57:43.95 .net
>>97
自分で書けよ

101:nobodyさん
17/08/19 16:04:01.93 .net
IPアドレスが指定した範囲内にあるかどうか判別する - Qiita
URLリンク(qiita.com)
こ�


102:ネの?



103:nobodyさん
17/08/19 16:20:11.70 .net
>>98-99
ありがとうございます
さすがにまんまなものはなかったんですね
>>99さんのリンクのを使わせていただきます

104:nobodyさん
17/08/19 20:11:02.89 .net
すげー細かいことだけどxorしてからシフトすればシフト1回で済む
PHPでandとxorどっちが早いかは確かめていない

105:nobodyさん
17/08/20 01:48:19.58 .net
もっと細かいことだけど
れるられる
が気になる

106:nobodyさん
17/08/20 09:36:55.83 .net
れろれろ

107:nobodyさん
17/08/24 20:16:03.54 .net
自サーバの指定ポートが使われてる(LISTEN状態)かチェックする方法ってありますか?

108:nobodyさん
17/08/24 23:47:48.82 e59+rI+5.net
もしかしたらすれ違いかも知れませんが気にせず質問させていただきます
先日パソコンが壊れました
電源をつけると5秒後に再起動を繰り返してしまいます
原因がわからないのですが
どなたか対応方法などご存知の方いたら教えてください

109:nobodyさん
17/08/25 02:32:32.38 .net
HDDかマザーかメモリーが壊れてるんだろ

110:nobodyさん
17/08/25 03:12:35.66 .net
>>104
これではあかんの?
URLリンク(php.net)

111:nobodyさん
17/08/25 04:29:08.22 .net
>>107
エラーを出せばわかるのですが実行前に検出したいです
file_get_contentsの前にfile_existsをやるようなイメージです

112:nobodyさん
17/08/25 04:36:31.07 .net
よくわからんけど netstat -an をexec()したら?

113:nobodyさん
17/08/25 05:05:45.19 .net
>>109
エラー制御とかErrorException投げるようにすればいいのですが
fsockopenで開いてないポートに接続するとE_WARNINGが出るのがいまいちで
$errstr参照できるようにしてるのだからFALSE返せばいいのに・・・
説明には
>hostname が有効なドメインでない場合は E_WARNING をスローします。
って書いてますけどhostnameは有効なのにportとセットになっちゃってるようですね
netstatコマンド叩く案で対処しようと思います
どうもありがとう

114:nobodyさん
17/08/25 12:09:34.80 +7AGwzz6.net
こりゃあ面白いわ!!
URLリンク(blogs.yahoo.co.jp)

115:nobodyさん
17/08/30 19:27:46.70 .net
tmpfile() で作ったファイル名を知りたい

116:nobodyさん
17/08/30 19:39:21.19 .net
>>112
一時ファイルのパスを知る必要のある局面では、
tempnam()で一時ファイルを作成してから、
fopen()でオープンする。
tempnam()は単に文字列としてのパスを生成するだけでなく、パスの競合を避ける為に一時ファイルを作ることに注意。

117:nobodyさん
17/08/30 20:28:44.54 .net
$fp=tmpfile();
print stream_get_meta_data($fp)['uri'];

118:nobodyさん
17/08/31 21:01:22.84 .net
mb_detect_orderってマニュアル通りの結構適当なの
mb_detect_order("eucjp-win,sjis-win,UTF-8");
あるいは
$ary[] = "ASCII";
$ary[] = "JIS";
$ary[] = "EUC-JP";
mb_detect_order($ary);

で動いちゃってますけど実はあんまよくわかっていません
マニュアルではJP系のしかありませんが
非英語圏、非日本語圏の場合はどうするのかなど
これが本当に正しい検出順ってのがありましたら教えて下さい

119:115
17/09/09 20:10:54.83 .net
やっぱみなさんもよくわかってないで設定してるかんじなんですかね?

120:nobodyさん
17/09/09 20:18:41.74 .net
今どきはutf-8が先頭じゃね?

121:nobodyさん
17/09/09 20:38:35.05 .net
負荷だって問題になるし誤判定防止の観点も重要だし、何を優先したいかじゃないんか
つか自動検出したいって対象


122:というか目的が限られるよな



123:nobodyさん
17/09/10 16:35:08.02 .net
完全な自動検出なんてそもそも無理だし>>115が何を以って正しいとするのか不明だしアホかと

124:nobodyさん
17/09/18 04:42:58.32 .net
PHPコミュ死亡したの?PHP7も特に話題にもならなかったしついにPHPも終焉か
目新しいものもないし仕方ないか・・・

125:nobodyさん
17/09/18 13:00:42.35 .net
死亡したことにしたいならそうすればいいんじゃないかな

126:nobodyさん
17/09/19 10:33:16.80 .net
PHPってバイナリごと配布しておk?

127:nobodyさん
17/09/19 11:02:07.42 .net
LISENCEファイルの本文冒頭に書いてあるぞ

128:nobodyさん
17/09/19 11:02:22.40 .net
LICENSE

129:nobodyさん
17/09/19 12:45:16.25 .net
oh miss spell

130:nobodyさん
17/09/20 06:59:21.00 .net
よくわからないからxampp参考にするか
.\licenses\phpに入ってるな
.\phpにも入ってるけど
くっそめんどくせえ

131:nobodyさん
17/09/23 08:21:36.78 .net
外部設定ファイルxml,ini,json等を読み込んで
phpの変数に割り当てます
{
 "phpver": "7.0",
 "pyver": "3.6"
}
$j = json_decode("json");
$this->phpver = $j->phpver;
$this->pyver = $j->pyver;
例えばこういうコードなのですが
このjsonの編集は自由に出来るとして
ミスでパース出来ないコードにしてしまったり
あるべき項目が入ってないことを想定して
プロの皆さんはissetで必要項目全チェックしたり
なかった場合に例外なり出したりとかするんでしょうか?

132:nobodyさん
17/09/23 10:19:41.47 .net
プロの皆さんは、とか臭い
自分で考えろ

133:nobodyさん
17/09/23 12:11:13.07 .net
noticeが出ない程度にissetとnullセットをしつつ
実際に実行したときに問題が起きて終了するか
データのvalidationまでやって実行前に正しいか事前にチェックするか
ちょうどコンパイラとインタプリタの概念に近いもんだと思うけど面倒だから前者だな

134:nobodyさん
17/09/23 12:31:50.42 .net
noticeはだめでwarningはいいんだね

135:nobodyさん
17/09/23 14:14:29.35 .net
……?例外投げるとか、Fatalで終了させるとかそういうのじゃないのか

136:nobodyさん
17/09/23 20:31:43.79 .net
.user.iniに記述した内容が反映されないのですが何か注意点あるでしょうか?
root権限ありの環境でphp.iniもいじれますが事情があって.user.iniを使う必要があります
php.ini内で
user_ini.filename = ".user.ini"
として、phpファイルのあるディレクトリに.user.iniを作り、
同ディレクトリに置いてあるphpinfoで確認しても反映されない状況です
.htaccessにphpvalueで書いたものは反映されるのですが、.user.iniが効かないのが気持ち悪くて。。。

137:132
17/09/23 20:32:44.12 .net
補足
.user.iniに書いているのは
post_max_size=15M
のみです

138:nobodyさん
17/09/23 21:06:12.60 .net
そのPHPの実行環境はどれなの?
CLIかmod_phpかphp_fpmか

139:nobodyさん
17/09/23 21:12:50.05 .net
Webサーバ通してphpinfo見てて、
php.iniでuser_ini.*を編集してからWebサーバ再起動してなかった
ってオチじゃないだろうな

140:nobodyさん
17/09/23 21:17:46.74 .net
環境はmod_phpです
centos7.3
apache2.4.6
php5.6.31
php.ini変更をしてからhttpd再起動しています
phpinofのuser_ini.filenameには.user.iniと表示されています

141:nobodyさん
17/09/23 22:30:26.81 .net
>>136
URLリンク(php.net)
> このファイルは、CGI/FastCGI SAPI の場合にのみ処理されます。
> この機能は、PECL htscanner 拡張モジュールを置き換えるものです。
> Apache モジュールとして PHP を実行している場合は .htaccess ファイルを使えば同じ機能を実現できます。

142:nobodyさん
17/09/24 08:20:24.15 .net
いまどきmod_phpなんて使ってるから

143:nobodyさん
17/09/24 14:43:47.07 .net
set_iniで書く

144:nobodyさん
17/09/25 06:46:06.55 .net
アップローダーで、
「名前、コメント、URL、アップロード時刻、ファイルサイズ」の4つを|文字区切りでログしていて、
名前 コメントは$_POSTで|文字を使うことが出来ない、
URLはオリジナルファイル名を破棄してuniqidを付与したもの、
アップロード時刻 ファイルサイズはtimeやfilesizeでシステムからのものという仕様になっています。
これらをhtmlに表示する場合、
システム側が作成する、[a-f0-9]のファイル名(URL)や、
intであるはずのtime(dateで変換して読みやすく表示)やfilesizeは安全な値だと思うのですが、
これらをhtmlspecialcharsする理由はなんなんでしょうか?

145:nobodyさん
17/09/25 07:21:56.76 .net
>>140
分けるのがめんどいから一括でサニタイズしているだけだと思う

146:140
17/09/25 08:08:18.75 .net
>>141
なるほど、ありがとうございます。

147:nobodyさん
17/09/25 13:40:09.72 .net
366 :nobodyさん 2017/05/29(月) 16:07:39.16 ID:6v4UcGhE
今回の民法改正、ソフトウェア受託開発の場合、(検収後ではなく)バグ発見後1年瑕疵担保責任があるということで、地獄かよ、と思ったが、
元々問題が起きがちな受託案件がビジネス的に成立しなくなることで強制的に業界再編につながるなら良いことかもと思うようになった。
一部で地獄を見ても。
URLリンク(twitter.com)
367 :nobodyさん 2017/05/29(月) 16:28:06.55 ID:6v4UcGhE
ニュース - 改正民法が成立、「瑕疵担保責任」などシステム開発契約に影響大:ITpro
URLリンク(b.hatena.ne.jp)
372 :nobodyさん2017/05/29(月) 19:10:37.12 ID:???
Railsでシステム作って納品する

Railsはマイナー、メジャーのアップデートが半年以内に必ずある

客がアップデートする。アップデートによるエラーやバグ、動作の不具合に気づく

気づいてから1年以内に通知すれば、5年間無料保証ゲット

つまりRailsがアップデートするたびに、無償の修正作業を発生するということかな
376 :nobodyさん2017/05/30(火) 09:20:20.09 ID:L5po86sS
>>378>>379>>375
客が瑕疵担保責任法の法改正を知ってくると思うから、今後5年無償保証をお願いされるだろう
営業がそれでも仕事を取ってこれるか?たぶん無理だろう。無限の直していたら赤字になる。
こういう保守に弱い言語、ころころ仕様が変わる言語は仕事として発生しなくなってくる。
これは変わり目だ。お前らも早く逃げたほうがいいぞ。RubyやPHPなど動的言語は確実に廃れる。
保守に強い言語のみ生き残れる。

148:nobodyさん
17/09/25 14:08:58.86 .net
お前少しスレが伸びると登場するよな

149:nobodyさん
17/09/27 19:56:39.79 .net
保守に強いのって何だろう?
Java?

150:nobodyさん
17/09/27 20:10:15.96 .net
無駄にコード長くなる冗長なJavaが保守に強いってか
つうかこのスレ向けの話題じゃないしPHP関係ないからム板で聞きなさい
URLリンク(mevius.2ch.net)

151:nobodyさん
17/10/02 16:41:56.90 .net
作ったコンソールアプリをwindowsでバックグランドで動作させるにはどうしたらいいですか?
cmd画面だしっぱで動作させることは出来るのですが、
タスクトレイには表示させてもいいですが、ついうっかりバツボタン押しちゃうので、
誤操作防止にもタクスバーに残らないようにしたいです。
切るときはタスクトレイから止めるか、タスクマネージャーから直接止めるという感じにしたいです。
可能でしたら方法教えてください。お願いします。

152:nobodyさん
17/10/03 02:44:51.89 .net
php-win.exeで起動させるとcmd画面が表示されない

153:147
17/10/03 22:58:08.51 .net
>>148
出来ました。どうもありがとうございます。

154:nobodyさん
17/10/05 00:05:56.71 .net
デバッガ付きのIDEってないですか?
XAMPP入れたりApacheやPHPの設定するのが大変です
しかもしょっちゅうおかしくなって再起動必要だし・・・

155:nobodyさん
17/10/05 06:54:42.12 .net
>>150
URLリンク(www.youtube.com)
URLリンク(www.jetbrains.com)

156:nobodyさん
17/10/08 12:02:16.66 .net
xamppで質問なんですが、スレチだったらすいません
php.iniで
include_path = "D:\xampp\php\lib\smarty"
と設定した場合、smarty内のphpファイルを全部読み込むということなんでしょうか?

157:nobodyさん
17/10/08 12:17:16.23 .net
>>152
検索パスであって勝手に読むわけではない
あと今はグローバルにインストールしてinclude_path指定するよりcomposerでプロジェクト毎にインストールするのが普通

158:nobodyさん
17/10/08 12:28:27.60 .net
>>153
あー、なるほど
つまりパスを登録しておけば
require( 'Smarty.class.php' );
で読み込める事ができて楽、ということなんですね
後、パスを複数登録した時、同じ名前のファイルがあるとどうなるのでしょうか

159:nobodyさん
17/10/08 12:50:34.11 .net
>>154
「パス 優先順位」でググれ

160:nobodyさん
17/10/08 13:03:37.64 .net
>>155
ありがとうございます!

161:nobodyさん
17/10/08 14:26:08.75 .net
>>154
一つ上の階層をインクルードpathにして
フォルダで分けるそしてrequiireを
require( 'smarty¥Smarty.class.php' );
とする

162:nobodyさん
17/10/20 04:14:51.76 .net
is_readableの説明には
>filename で指定したファイルあるいはディレクトリが存在し、 それが読み込み可能であれば TRUE、
といった具合に存在も確認するようなので
file_existsとis_readableって併用する必要ないですよね?
URL忘れちゃったけどIBMの記事でPHPのファイル事前チェック説明で両方指定してたので
あとis_readableの注意の
>この関数は、ディレクトリに対しても TRUE を返すかもしれません。 ファイルとディレクトリを区別するには is_dir() を使いましょう。
というのは、これはis_dir"を"ではなくて、is_dir"も"っていう解釈でOKですか?
is_dirのところ見ても
>ファイルが存在して、かつそれがディレクトリであれば TRUE、それ以外の場合は FALSE を返します。
としか書いてないのでreadのチェックまではしてないのかなと
手元の環境じゃdirを000にしたりすることが出来ないので確認できなくて
読み書き可能なディレクトリかを調べる場合どちらがいいでしょうか?
冗長な分には構わない感じで上でいいんですかね?
is_dir($dir) && is_readable($dir) && is_writable($dir)
is_dir($dir) && is_writable($dir)

163:nobodyさん
17/10/23 19:03:31.63 .net
php ver7は、odbc_connectは実装されていないの?
関数がないっていうエラーになるんだけど。

164:nobodyさん
17/10/23 19:18:56.78 .net
URLリンク(php.net)

165:nobodyさん
17/10/23 19:22:39.89 .net
>>160
はい、知ってます。
が、実際はサポートされていないようなのです。

166:nobodyさん
17/10/23 20:50:45.96 .net
>>161
エクステンションなんだからお前さんの環境で有効になってるかぐらい確認しろ

167:nobodyさん
17/10/23 21:46:47.32 .net
ご自分の設定ミスなのにサポートされてないとか言っちゃったらそりゃ反感買う罠w

168:nobodyさん
17/10/24 14:37:30.67 .net
おま環は酷い…

169:nobodyさん
17/10/24 20:10:43.03 .net
俺環は、Windowsなんだけどネ。
php v5 では、エクステンション無くてもodbc関数は動くのよ。
php v7 では、だめなの。
んで、php 7 のextフォルダ見たけど、それらしきファイルは入ってないの。

PHPのオンラインマニュアルには、
Windows 版の PHP には この拡張モジュールのサポートが組み込まれています。
これらの関数を使用 するために拡張モジュールを追加でロードする必要はありません。
て書いてあるし。
文句は甘んじて受けるから、odbc関数動かす方法教えてくれ。

170:nobodyさん
17/10/24 20:52:02.86 .net
いや、、、php.iniは確認したの? ; をちゃんと外した?

171:nobodyさん
17/10/25 06:38:28.59 .net
php.ini のodbc関係は、php_pdo_odbc.dll だけ。
これは有効にしているので、pdo を使ってodbc接続はできる。
それなのに odbc_connect関数は使えないのよ。
php -i で見ると、v5 には、
 ODBC Support => enabled
が表示されるのに、v7 は表示されない。
だからサポートされてないんじゃないかな~って思うの。
162, 163よ、早く答え教えろw

172:nobodyさん
17/10/25 06:48:22.49 .net
すまん。
php_odbc.dll ってのがあったw

173:nobodyさん
17/10/25 07:43:05.92 .net
確認しろと言われても確認すら出来ない
しかもちゃんと謝れない
ゴミクズですわ

174:nobodyさん
17/10/25 07:45:37.79 .net
程度がひどいなあ…

175:nobodyさん
17/10/25 10:18:40.93 .net
自分よりもマニュアルが間違ってるって発想する人間だし

176:nobodyさん
17/10/26 14:44:35.78 .net
www.example.comみたいなホスト名からドメイン名の部分をとりたいです。
最初に考えたのはドットで配列に区切って後ろの2つをくっつけるですが、
ne.jpとかのドメインを思い出して、その場合3つをくっつけないといけません。
既知のドメインをリスト化するのは大変だし、新しいものに対応するのも難しいのですが、
なんかいい方法や関数ないでしょうか?
ne.jpやco.jpがneやcoの部分が2文字まで、exampleの部分が3文字以上じゃないと無理とかなら、
まだやりようはあるんですが、そういったルールはないですよね?

177:nobodyさん
17/10/26 18:41:59.01 .net
2つとか3つとかそれぞれで
checkdnsrrでチェックするとか

178:nobodyさん
17/10/26 19:01:32.40 .net
>exampleの部分が3文字以上じゃないと無理とかなら、
三文字以上じゃなきゃ取れなかったと思うから2以下なら3つっくっつければいいんじゃね?

179:172
17/10/26 21:27:47.65 .net
>>173-174
>>173さんの方法でうまくいきました。
レスどうもありがとうございました。

180:nobodyさん
17/10/31 06:58:11.21 .net
無名関数でuseというキーワードがありますが、これって引数で渡すのと比べた違いは、
>引き継がれた変数の値は、関数が定義された時点のものであり
これだけですよね?
両者とも参照渡しは可能で、globalのように親スコープの変数を変えることもできないので。
PHP5では無理なようですが即時関数のような振る舞いを期待して、
定義後にすぐ呼び出すならuseキーワード使ったほうがいい感じですかね?

181:nobodyさん
17/10/31 13:01:16.18 .net
>>176
特に理由がなければuseするわ
引数にすると2回書かにゃならんし
あと即時関数はPHP7からは
(function (...) {...})(...)
で可能だしPHP5でも
call_user_func(functuion (...) {...}, ...)
で可能だったと思うが

182:176
17/10/31 19:36:45.24 .net
>>177
ありがとうございます。
やっぱ基本useがいいですね。自分も書いてて2回書くのは気になりました。
ただ書いてて気づいたのは、$thisはuseで渡せないようなので、
その時はやむを得ない感じかなと思いました。
call_use_funcは知りませんでした。どうもありがとうございます。
JavaScriptもやっていて


183:、無名関数の書式に慣れてるし、 もし今使ってるレンサバがPHP7対応したら置き換えやすいので、 とりあえずこのままで行きたいと思います。



184:nobodyさん
17/11/03 16:57:07.36 .net
URLリンク(php.net)
DOMクラスに多いんですが
publicでreadonlyなプロパティがいっぱいあります
ためしに自分のクラスにpublic readonlyとか書いてみたらparse errorになりました
マジックメソッドの__getを使うとreadonly実装出来るようなこと書いてて出来るには出来るのですが
これってgetterのオートローダーみたいな感じで
実質中身はprivate protectedなプロパティにアクセスしてるだけだと思うのですが
publicでreadonlyなプロパティというのは実装可能なんでしょうか?

185:nobodyさん
17/11/03 17:46:13.00 .net
>>179
Cでエクステンション書けばPHPの文法を超えることが実現出来る

186:nobodyさん
17/11/03 18:06:42.77 .net
>>180
なるほど
やっぱりPHPだけじゃ無理でそういうレベルの話だったんですね
DOMElement->tagName変えようとしたらmain()とかでエラー出てたので
なんかそんな感じはしました
レスどうもありがとうございました

187:nobodyさん
17/11/03 18:26:11.55 .net
でもまぁreadonlyプロパティとか欲しいよね実際

188:nobodyさん
17/11/04 00:09:02.36 .net
constもいらなくなっちゃうな

189:nobodyさん
17/11/05 10:57:46.19 9c35x3aK.net
飢餓ベネズエラ「1600%インフレ率」で仮想通貨が生活の柱|ビットコインマイニング(採掘)で生き残る
URLリンク(virtualmoney.jp)
「ビットコイン」新世界のベネズエラ:自由を求める、採掘者たちの反逆
URLリンク(www.fuze.dj)
ベネズエラ、ビットコインマイナーが10万人規模に
URLリンク(btcnews.jp)
ジンバブエではビットコインが80万円?自国通貨がインフレしている国の仮想通貨需要について
URLリンク(coinpost.jp)
ビットコインとは?投資で儲かる仕組みと危険性を分かりやすく解説
URLリンク(enjoyrock.jp)
ビットコイン最高値更新中! ~財政破綻とビットコイン~
URLリンク(silver-dream.info)
ビットコイン採掘(マイニング)で個人が稼ぐ方法・スマホで可能?
URLリンク(bittimes.net)

190:nobodyさん
17/11/14 14:49:47.97 .net
if (!preg_match('/regex/', $arg))
{
 throw new xxxException();
}
LogicException系ですが、
引数が期待する値でないのでこれはInvalidArgumentExceptionですか?
それとも定義したデータドメインにあってないのでDomainExceptionですか?
いまいちExceptionの使い分けがわかりません。

191:nobodyさん
17/11/14 22:59:01.79 .net
>>185
InvalidArgumentExceptionのドキュメントを読むとTypeError相当のものに見える
DomainExceptionのサンプルからもその用途にはこちらが向いているだろう
// サンプルなんだろうけどその判定式はstrposが最良では

192:nobodyさん
17/11/15 12:55:13.16 .net
>>186
'/'.preg_quote($regex, '/').'/'と書くべきでしたね。
ややこしくしてすみません。
DomainException使おうと思います。
レスどうもありがとうございました。

193:nobodyさん
17/11/17 01:05:40.09 pCghqI8+.net
なんで標準Exceptionだけで全てを仕分けしようとしてるん…

194:nobodyさん
17/11/17 02:33:45.51 .net
じゃ>>187に例外命名してみ
たぶん無駄に終わるだけだから

195:nobodyさん
17/11/25 18:53:56.05 zV7O0yGe.net
mysqlなんですが
外部結合などの依存関係を無視して強制的に
データを削除したいんですがどうしたら良いですか?

196:nobodyさん
17/11/25 21:39:26.35 .net
mysqlですかそうですか

197:nobodyさん
17/11/25 21:45:16.13 .net
db板ってのがあったような

198:nobodyさん
17/12/01 10:17:37.90 .net
pcntlが有効になっていない環境で、
Aさんがsleepしているのを Bさんが起こす
ということをしたいのですが、どうしたらよいでしょうか
pcntlがあればAさんはsignalハンドラ定義してsleepして
BさんがSIGUSR1でも投げればよいのですが・・・

199:nobodyさん
17/12/01 20:36:51.33 ZfGIb43l.net
いや~噂には聞いてたがさ
F/Wも増えてるしphp開発の話も多いし
大丈夫だろうと思ったんだよ
実際にphp屋に転職したらマジ吐きそう・・・

200:nobodyさん
17/12/02 14:06:37.01 .net
>>194
グダグタシステムのメンテとか?

201:nobodyさん
17/12/02 19:05:55.95 wRelxMGw.net
今時PHPに固執してる会社なんて
スパゲッティ屋に決まってるだろ
さっさとpythonかgolangやってる会社に転職しろ

202:nobodyさん
17/12/02 19:12:10.34 wRelxMGw.net
まともな国公立の情報工学部出身者(自然言語処理系)ならpythonがデフォだから
pythonメインの会社は技術レベルが高い(一昔前はPerlだったが)
そんなpythonプログラマが速度や省メモリ性能、並列化の問題に直面すると選ぶのがgolang
こっちは更に技術レベルが高い(上に先見性もある)
URLリンク(isucon.net)
ISUCON(いい感じにスピードアップコンテスト)では
本戦出場の53.3%がgolang使い

203:nobodyさん
17/12/02 19:13:22.27 wRelxMGw.net
※PHP組は予選で淘汰された

204:nobodyさん
17/12/02 19:14:32.65 .net
pythonも淘汰されてるやんけぇ!
Ruby以下やん

205:nobodyさん
17/12/03 04:40:18.09 .net
PHPはインタプリタ言語で開発速度優先
Goはコンパイラ言語で実行速度優先
一長一短だぞ
Goのコンパイル時間はC言語と比べるとめちゃ早いが
インタプリタ言語よりは遅い

206:nobodyさん
17/12/03 07:55:49.90 .net
kuinって言語のコンパイルが爆速だったな

207:nobodyさん
17/12/03 15:58:47.22 .net
kuinは流石に泡沫言語すぎるな
githubで公開されてない、萌え絵を全面に出してる時点で
評価は得られないだろう

208:nobodyさん
17/12/03 18:03:11.48 .net
一つだけ言えることは
GOは糞

209:nobodyさん
17/12/03 18:05:18.15 .net
Goむずかしいやん
PHPくらいのがチンパンにはちょうどいいんや

210:nobodyさん
17/12/03 18:11:45.82 .net
>>204
わかる
なんつーかこう、肌に合ってる

211:nobodyさん
17/12/03 18:37:04.84 Gnr8q5JQ.net
PHPer目線でGoのダメ出しをすると
type User struct {
name string
}
func (u *User) hello() string {
return "hello," + u.name;
}
u := &User {"PHPer"}
fmt.Println(u.hello())
はぁ~~、もうこれね
メソッド定義するだけでもレシーバーをポインタ型にするか値型にするかで混乱するし
そもそもclassの枠内でメソッド定義したいのよ、なんでstructと分離する感じにしちゃったの?
class User{
 name string
 func hello() string{
  return "hello," + this.name;
 }
 func init(s string){
  this.name = s
 }
}
u := new User("PHPer")
u.hello()
こっちのほうが可読性高くね?

212:nobodyさん
17/12/03 20:04:57.68 .net
PHP8出るんか

213:nobodyさん
17/12/04 13:31:21.58 .net
GOは新言語が�


214:謔闢�れるべきヌル安全性がない これは糞



215:nobodyさん
17/12/04 19:08:57.02 .net
>>207
そうなの?

216:nobodyさん
17/12/09 14:41:18.85 Dbh0aDdH.net
自宅鯖でWordPressを動かしてるんだが、ログイン状態でPCかブラウザがクラッシュして再起動すると、必ずログアウトされてる
PHPってブラウザ再起動したらセッション無効にするみたいな設定あったっけ?
どういう仕組みでこうなるのか調べたけど案外情報が無くてわからんかった

217:nobodyさん
17/12/09 15:10:14.96 .net BE:771429675-2BP(1000)
URLリンク(img.5ch.net)
ブラウザの設定なんでないの?

218:nobodyさん
17/12/09 15:31:04.88 Dbh0aDdH.net
それも考えたけど別のサイトではそうならないんだよな

219:nobodyさん
17/12/09 19:08:15.58 .net
>>210
>自宅鯖+PC再起動
セッションはメモリ上に保存されてるからね、ログアウトも仕方ないね
ブラウザの場合はわからんが、ブラウザじゃなくて鯖が再起動になってるんじゃないの

220:nobodyさん
17/12/09 20:09:18.81 Dbh0aDdH.net
更に調べたらやはりブラウザのせいぽい
Operaでだけ発生しChromeではならない、が、何故なのかはまだわからない
>>213
鯖は再起動になってない

221:nobodyさん
17/12/09 20:38:19.56 .net
operaが再起動でクッキー消失する設定になってるかなんかじゃないか
あと今のoperaは使わんほうがいいと思うぞ
せめてvivaldyのほうがいい

222:nobodyさん
17/12/09 21:34:00.94 Dbh0aDdH.net
>>215
同じOperaでもサイトによって挙動が違って謎
どこかにドメイン別の設定でもあるのだろうか…

223:nobodyさん
17/12/09 21:43:08.38 .net
operaは中国企業が買収したし何がどうなってるかわからん
使うの怖いわ
原因も調べるだけ時間の無駄
ってかそもそも、今どの層が使ってるんだ?

224:nobodyさん
17/12/09 22:17:40.13 Dbh0aDdH.net
うーんVivaldyでも起きた…Operaの問題というわけでもないようだ
PHPのセッションに、ブラウザ閉じたら終わるみたいな機能ないよね?そもそも検知できないと思うし

225:nobodyさん
17/12/09 22:20:19.23 .net
シークレットモードだったらぶっとばす

226:nobodyさん
17/12/11 09:14:23.38 .net
クッキーの有効期限がブラウザ閉じるまでになってるんだろ

227:nobodyさん
17/12/17 12:45:40.44 D/sBsoe5.net
>>213
>セッションはメモリ上に保存されてるから
こいつ、何言ってんの?

228:nobodyさん
17/12/17 13:14:06.84 .net
>セッションはメモリ上に保存されてる
でしょ
>>221は何言ってるの?

229:nobodyさん
17/12/17 18:02:08.76 .net
実装次第だが少なくともPHPのセッションはデフォルトでファイルなはず
自分が使用してるバージョンではそうなってる
ブラウザは終了時にセッション(クッキー)を削除するのでそこでセッションは切れる
ただ異常終了した場合は前回のセッション復帰を試みるブラウザもある(ブラウザ次第)
PHPがセッションを削除するタイミングは
たしかアクセスがあった時にランダムで有効期限が切れたものを削除してた気がする
なのでサーバ再起動した場合でもまだ有効期限内なら確立されるはず(ブラウザ側で残ってれば)
サーバ再起動時にPHPのセッションを削除するようにしてる場合はこの限りではない

230:nobodyさん
17/12/18 15:18:34.00 thWVCCul.net
>>218
phpのセッションは、ブラウザのcookieに保存されたセッションIDと
サーバ側のセッションファイル(メモリキャッシュを使ってる場合はメモリ)の
突き合わせで行われる。
だからブラウザのcookieとサーバのセッションファイルを調べればだいたい原因が分かるよ。
たぶんcookieがないかセッションIDが変わってるだけだと思う。
君らのレス見てると、案外phpのセッションを理解してる人は少ないみたいだな。
まあたしかに分かりにくいけど。

231:nobodyさん
17/12/18 16:38:31.32 .net
どちらかというとcookieの仕組みを理解してないだけだろう
俺も昔勉強したきりでもう覚えてないが
expiresが設定されてないとブラウザ終了時に消されるんだっけか

232:nobodyさん
17/12/18 18:13:20.39 thWVCCul.net
>>225
そう。
最近はフレームワークが面倒な作業を全部やってくれるから、
新人(でなくてもか)がphpのセッションを学ぶ機会がないんだよね。
session_start()さえ自分で書かないんだもん。
そりゃ何やってんだか分からんって。
できればこの辺のことは学校でやってきて欲しいんだがな。

233:nobodyさん
17/12/18 21:00:05.64 eDqIAEPx.net
ブラウザ終了時にクッキー消される場合があるのはわかるが、異常終了時はどうなるんだろう?
再起動時に前回異常終了したことを検知して、正しく処理をするのかな?その結果クッキーは消えると

234:nobodyさん
17/12/19 12:41:13.65 .net
異常終了時はブラウザがCookieを消すという動作が出来てない可能性があり、
この場合ブラウザには残ってるということになる。
これらのCookieをどう次回の起動時にどう扱うかはブラウザ次第。
勝手に復元したり、復元するか聞いてきたり、リセットして通常起動をしたり。

235:nobodyさん
17/12/21 21:53:07.61 LS3FMJ0q.net
>>222
ヴァーカ

236:nobodyさん
17/12/22 06:40:12.07 .net
中途半端に勉強してフレームワークを変にカスタマイズして
セキュリティホールができるよりかは何も出来ない方がいいという昨今

237:nobodyさん
17/12/22 08:32:30.47 .net
そうやってできたセキュリティホールなんてそう簡単に検知出来ない
ソースがオープンであることが一番怖いのだよ
逆にオープンであるといろんな視点から修正も可能になるから
堅牢なものに仕上がるわけだけど

238:nobodyさん
17/12/22 12:18:36.73 .net
Googleがemojiのユニコード化に乗り出したときにperlだとemojiをutf8にする決定版モジュールがすぐに出たし
PHPだと暫定的にHTML_Emojiを使ってたけど5.4以降の関数を使った新しいモジュールが見つからない
何かおすすめの携帯emoji自動変換ないでしょうか

239:nobodyさん
17/12/23 00:06:44.08 Xl1aztuq.net
お前は20年前から来たのか?

240:nobodyさん
17/12/24 19:23:17.05 .net
今でもガラケー使ってる人いるだろ

241:nobodyさん
17/12/25 12:18:38.90 .net
PHPerはないものを生み出すのが得意になるように
言語が誘導してくれてるんだから自分で作るんだ!!!!!!

242:nobodyさん
17/12/28 01:52:50.40 LaR6+9Gu.net
PHPerってある物を変に変えるのが得意だろ

243:nobodyさん
17/12/28 10:18:49.47 .net
車輪の再発明が大好きだからな
趣味でやる分の傾向としては別に悪くはない

244:nobodyさん
17/12/30 12:09:28.28 YhlYw6jg.net
誰でも簡単にネットで稼げる方法など
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。
グーグル検索⇒『半藤のブブイウイウレレ』
MHWTZ79CQR

245:nobodyさん
18/01/04 13:53:25.48 .net
PHPから大量のデータを送る方法を教えてください
思いついたのが、
1、一旦ファイルに保存してファイルの一覧をクライアントに送る
2、クライアントから順次ファイルの送信を要求する
です

246:nobodyさん
18/01/04 14:01:30.28 .net
専用のプロトコルでやり取りする

247:nobodyさん
18/01/04 17:18:29.54 .net
Socket.ioなどを使えということでしょうか?
勉強してみます

248:nobodyさん
18/01/04 18:27:18.33 .net
PHPもsocket使えるんですけどね

249:nobodyさん
18/01/04 20:06:31.03 .net
npmがエラーはきまくりで進まなくなった。。。
なにこれ
Error: Cannot find module ....\npm-cli.js
socketは。。。portとかまためんどくさい話がありそうで。。。

250: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を使ってやりたい…
どっかにわかりやすい雛形でもあればいいんだけど、何から手をつければいいかすらわからない…


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