PHP質問・雑談スレ6【初心者お断り(ROM歓迎)】
■ このスレッドは過去ログ倉庫に格納されています
PHPに関する質問や雑談をするスレです。
初心者お断り(ROM歓迎)と書いてますが、初心者用のスレが用意されているからで、
難しい質問や話題をしなければいけないわけではありません。
PHPマニュアルの読み方を概ね理解していて、関数リファレンスが正しく読める方用のスレです。
PHP未導入の方や、手取り足取りが必要な初心者の方はム板のくだスレへどうぞ。
https://mevius.5ch.net/tech/ (【PHP】で板内を検索)
前スレ
https://medaka.5ch.net/test/read.cgi/php/1538639036/
その他リンク
・PHPマニュアル
https://secure.php.net/manual/ja/index.php
・コードテスト・貼り付け用
https://ideone.com/
・プログラミングのお題スレ (求PHPer参戦)
https://mevius.5ch.net/tech/ (お題スレで板内を検索)
このスレで扱う話題
・PHPのコード,設定や設定値に関する質問
・常識的範囲内でのコードレビュー依頼・改良相談
・PECL,PEARに関する質問
・PHP新機能やPHP関連トレンドの話題
(FWや非公式ライブラリの話題や特徴比較は良いが使い方から先の話題は専スレへ)
・PHPのバグ発見報告・公式に報告する前の検証依頼
このスレで扱わない話題
・直接関係ない○○特有の質問(専スレへ)
(HH,エディタ,IDE,サーバ,OS,DB,SQL,FW,テンプレート,非公式ライブラリ・アプリケーション等)
・PHPの改造 あとApacheの設定ってすごく読みづらくね?
nginxの方が直感的に理解しやすい それを5chの僻地で主張することにどんな意味があるの? どっちもオワコンだろ
lswsを使ったらもう戻れない >>137
そんなもの流行りませんよ
apacheのデファクトぶりに震えて眠れ 「〜はオワコン」って言ってるのは評価軸を決められない未熟なエンジニアか荒らし。
どっちゴミなんでほっとけばいい。 nginxはここ数ヶ月で下落の兆候あり
apacheとiisは長期的に下落を続けている
かといってlswsが急上昇してるわけでもない
さて一体失われたシェアはどこへ行ったのやら >>125
こういう関数がすっと出てくるのはすごいと思う。
mapしてzipしてcollectすればいいと考えても、そこからPHPの関数にたどり着くまでが大変。
覚えりゃいいんだけど、PHP離れるとすぐ忘れるし。 International Semantic Web Research School? >>140
アイじゃなくてエル LiteSpeedWebServer
PHPはこのサーバ向けにカスタマイズされた特殊なものが使われてる
おかげで設定なしにPHPが導入出来るばかりか
優秀なリポのおかげもあって常に最新のPHPにアップデートされる
もちろん普通のPHPのコードが動くので心配はいらない
Web設定ツールはPHPで書かれているのでPHPとセットになってるし
特にWP向けに最適化されててWP配信ならWebServer界最速で
PHPerのためのサーバといっても過言じゃないわ オープンソース版もある
https://openlitespeed.org/
solarisとopen solarisみたいなもんだ openlitespeedって公式dockerないの?
検索しても出ない >>142
貧乏人だからセレロンに8GBのノートPC
これじゃあんま強力な環境を作れず
IDEよりもエディタで本当はフレームワーク勉強したいけど
開発環境作ると重いしピュアなPHPでゴリゴリ書いてる
だから俺はPHPの関数めっちゃ覚えてるよ
あーいいパソコンがほしい メモリ8Gってすげえ高性能だな
俺なんかまだ716MBで頑張ってるよ >>148
同意します。
ブラックボックスは小さい方が良いと思う。 >>150
linuxのコンソールからviでも起動してプログラムかいてんのか?
それだったら尊敬するわw >>152
xp
5chとネットサーフィンだけだけど全然余裕
ブラウザはnewmoonってのを使ってる >5chとネットサーフィンだけだけど全然余裕
PHP書けよ Atomで書いてるけど、最近Visual Studio Codeに浮気しようか悩んでる >>155
元Atom使いだがVSCodeのがいい htmlとcssが出来るようになった
次はjavascriptかphpを勉強したいと思ってる
どちらから先にやるべきだ?
分かりやすく教えろ。 phpはブラウザで使えない
javascriptはサーバーで使うには素人は難しい 次はxmlとxsltだ
異論は認めん
さぁ頑張ってこい $dbh = new PDO(
'mysql:host=localhost;dbname=db1;charset=utf8', $user, $pass
);
っていう、dbへの接続方法
$dbh の中身をどうやって実行するんや!?と思ってたんだけど、
new PDOでPDOが呼ばれた段階でPDO以降の実行結果が代入されるということだから、接続確立したって事でOK?
あほだからこんな事で丸一日悩んでしまったんだけど… JavaScript優先だろう
JavaScriptは今やhtml5を使うには必須スキルで代えは聞かない。
ブラウザあればすぐに試せるから実行環境が用意しやすい。
Googleドライブにあるスプレットシートなどのマクロ、Google Apps ScriptなんかもJavaScriptと同じ構文で動くし
RPGツクールMVなどのゲーム作成でも役に立つ。node.jsのようなサーバーサイドで動くJavaScriptもある。
JavaScript知識は活用範囲は非常に広い
phpは基本サーバーサイドでしか動かんし用途が限定的。
ライバル言語が非常に多く、別の言語でもいいってこともしばしば
他に代用がいくらでもあるので優先順位は低い java script とかはやりたい事ググってサンプルスクリプトを見つけて
コピペしてあまり理解せず使ってるわ
そんなもんでいいだろう <script type="text/php">
$a = Document::getElementById('a');
$a->style(['background-color'=>'#fcf']);
$a->innerHTML('<p>hello</p>');
try {
Core::ajax('http://example.com', 'get', function($text) {
});
} catch (HttpError $e) {
}
こんなん探せばありそう 素のPHPでWebバックエンド周り(フォームとかセッションとかセキュリティとか)を一通りやるのは悪手とは思わん。
その後はさっさとPHPとおさらばして、他の言語に移るべき。 >>167
MariaDB上のデータベースをネットから検索する簡単なフォームとPHPを書こうと思うんだけど、
面倒くさい。
データベースの構造を元に検索フォームとPHPの雛形を簡単に作ってくれるアプリは無いのかな? それこそWebフレームワークが最も得意なことじゃない bitbucketに対してコミット、プッシュが簡単に出来るphpライブラリって無いかな?
無ければssh2_connectコマンドで頑張るしかないんだけど VPSからPHPで外部サーバへFPTS接続して、ファイルをアップロードしたいのですが、
ftp_ssl_connect()は成功してるようなのですが、
ftp_login($connectId, $userId, $userPass) のところで
「SSL/TLS handshake failed」「Proceed with negotiation」などと出て失敗してしまいます。
php.info()では「ftp」「openssl」は有効になっているのですが、
ほかに何か設定するべきところがあるのでしょうか?
送信元のapacheやvsftpdなど。
送信元のサーバのapacheで証明書とかも要りますか?
OSはCentOS6
PHPは5.1.6です。 そんな古いPHPでSFTPとかなんかやばそうw
多分原因もそれでしょ opensslも古そう
VPSなら環境のアップデートぐらいしなさいよ こちらも同じ見解に達していました。
ありがとうございます。
OpenSSLが0.98とかで、今や一般的ではないようです。大は小を兼ねるみたいに向こうが新しくても、互換でやってくれるとかじゃないみたいですね。 セキュリティ系は古いもの切り捨てないと穴あいちゃうからねぇ。 今はプログラムよりツールの使い方を学ぶ時代になって
新人にとってはずいぶんつまらない世の中になってしまったな 昔の人がアセンブラ書かないのはプログラマじゃないって言ってるようなもんだろ
時代は常に流れているんだよ >昔の人がアセンブラ書かないのはプログラマじゃないって言ってるようなもんだろ
つまらなくなったとはいったけどそこまでいっとらんわ
今と比べて面倒なことをしろなんて主張もするつもりはない
スタート地点で面倒なことから始めればそれを面倒とは思わないだろうし
人間後退したくない以上より多くを覚えるならスタート地点は重要だけどね
目的違うしアセンブラから始められてたらもっと楽しかったのだろうとは微塵も思わんけど
出来ることは増えてただろうし習得してればまた考え方も変わるのだろう しっかしーこのスレ死んどるな
もうPHPも終わったんだな 死んではいないしょ
WEBではなんだかんだこれ以外の選択肢は多くないし
てか、5chで情報共有なんかしないわ まぁ、たしかにもっと愚痴がこぼれてきてもイイと思う。
なんで、7.4の阿鼻叫喚がここに流れない??? うちも5.xだわ
昔にとあるツール使って構築したサイトで色々カスタマイズというかいじりまくってしまって
最新版に更新できなくなっちゃってるんだよなぁ
だから7系に上げられない
さっさとそのコンテンツ終わってくれれば良いんだけど妙に長生きしてるんで困ってる アロー演算子ってクロージャーとはスコープの扱いが違うんだねえ
引数渡したりuse書く必要なくなったんだな すげぇな、アロー関数まで搭載するんだw
PHPってほんと、あらゆる技術を無節操に取り込みまくるよな。
やっぱ間違いなく最強の言語だ。
絶対最後に生き残るの、PHPだって、これ。 んなことない
今だいたいどの言語も統合が進んでる感じ
ただしPHPから学ぶ機能は何もないという
もともとWeb制作ツールの延長だし
革新的な機能を出すような言語じゃないからしょうがないけど >ただしPHPから学ぶ機能は何もないという
そら、そうだろ。
PHPは与える側じゃなくて、全部取り込む側。
漁夫の利作戦。
他の言語であれこれ試行錯誤して『これいいよね』ってなったものを
無節操に取り込むのが我らがPHPだよ。
もう、最強。 連想配列なんてのがのさばっているうちは、どこまでいっても二流ですわ。 すれ違いなのは承知です。
GAS(Google App Script)の専用スレッドはありませんか? 誤訳直そうと思ったらログインがうんぬんメーリスがうんうん言われて面倒だったんで
https://www.php.net/manual/ja/function.curl-getinfo.php の CURLINFO_FILETIME
編集権があってヒマな人誰か直しといてもらえませんか ググればだいたい解決するから5chの出番はないな
というかこういう実用系の内容では5chは要らない つーかPHPの公式ドキュメントって
数多のP系スクリプトの中でも他の追随を許さない質と量だよね
言語自体スパゲティだのなんだの言われてるけど
そんなのを軽くチャラにするくらい丁寧で充実してる 今からPHP勉強してフリーランスデビュー目指して頑張ります
ちな中卒30代プログラミング未経験 徳丸ひさびさに見たけど白髪増えてだいぶ老けたなぁ(´・ω・`)
相変わらずのPHPびいきなようで安心。
彼がいる限りまだまだ日本でのPHPは終わらんよ( ー`дー´)キリッ IDとパスワードのログイン方式でなく
電子証明書方式のログインサイトを作ってみたいのですが
具体的にはどうしたらいいんですかね? 素人が作ったら電子証明書使ってても穴あきそうだな
実績あるプロに任せろ こんなとこで質問するレベルのやつが作って良いものではないw そりゃ、ここの話題じゃないからな。
ヒント出してるだけマシだろ。 …まさか5ちゃんに書いて答えもらえるとマジで思ってたのか? >>1
東京三鷹の土井(剛)莉里子
https://i.imgur.com/Fbgp0yG.png
氏名■土井剛(莉里子)
生年月日■1994.3.7
前住所■〒181-0013 東京都三鷹市下連雀5丁目3 シティハイツ吉祥寺通り4階
性別■男(詐欺師のため、戸籍変更している可能性あり)
Twitter■@copy__writing @kotobamemo_bot
疾患■性同一性障害(LGBT)、発達障害(ADHD)、アスペルガー症候群、統合失調症
●一方的に好意を寄せる男性から相手にされないと嫌がらせを繰り返す
●某大学病院の精神科隔離病棟にて強制入院
●骨が見えるほどのリストカット
●奇声をあげながら自室部屋のドアをナイフで突き刺す
●シティハイツ吉祥寺通り4階から飛び降り自殺
●性転換手術(金玉を取る)
●トラブル...嫌がらせ、ハッキング、乗っ取り、たかり、脅迫、殺害予告...etc
●去年から今年にかけてyoutuber同士のトラブルの仲介に入り某大手youtuberから複数回に渡り1億近い慰謝料をふんだくる
●自宅の吉祥寺にいられなくなり、大阪に潜伏中(警察からも逃げている) 追記型の最新のログ10件を表示するために長めのログをfgetsで
キューに10個いれてそれ以上あれば破棄していくという感じで
$queue = array();
while (!feof($fp)) {
array_unshift($queue, fgets($fp));
if (count($queue) > 10) array_pop($queue);
}
というようなコード考えたんですけど
初期値falseの$overflow変数を儲けて
if ($overflow || count($queue) > 10) {
array_pop($queue);
$overflow = true;
}
のようにしたら$overflowがtrueの時点で
countのところには行かないで認識あってますか?
$overflow = trueよりcountのほうが遅いはずなので
php5系使ってて配列操作は遅いので改善ポイントとして考えてます >>220
count()の実行回数を減らしても大して違いは無いと思うけどなぁ。
それより1行ずつ配列に入れるのをやめてfile()で一気に読み込んでから、array_slice()で最後の10行を残して、array_reverse()で反転させる方が早くないか?
遅いのはログの行数が多いからだと思うけど、あまり多いとfile()じゃメモリ消費も気になってくるけどね。
その場合はログのサイズを小さくすることを考える必要がある。デイリーベースにするとか。 キュー使うなら配列よりSplQueue使ったらええんちゃう
実装見たわけじゃないけど常識的にcountはO(1)だし多分内部のカウンタ見てるだけだから遅いってことはない
ログを頭から読んでいって末尾10件を抽出するのが遅いって(O(N))のなら最新数件だけ別ファイルにする(O(1))かDB使った方(O(log(N)))がいい レスありがとうございました。なんか溜まってるログがないかと探して、
まだまだ少ないですが、6MB 3万行強ぐらいので試してみました。
結果countに関してはお二方のおっしゃる通り影響はないようです。
10回計測して、(ローカルの計測環境でPHP7なんですが)
file
avg: 0.02795
配列Queue(>>220)
avg: 0.04602
SplQueue
avg: 0.04344
キュー型にしない(最後の取り出す処理で若干こんがらがる)
avg: 0.02981
といった感じになりました。3万行なら余裕ですが、fileはやっぱりメモリ食べますね。
最後のコードは、
$disp_num = 10 + 1;
$bucket = array_fill(0, $disp_num, null);
$pointer = 0;
while (!feof($fp)) {
$bucket[$pointer%$disp_num] = fgets($fp);
$pointer++;
}
のようにしたものです。
配列の順番がぐちゃぐちゃになるので、最後少し苦労しますが配列に入れるだけなのでメモリも速度もいいですね。
(やってて気づいたのですが)+1にしてるのはfopenでfeofまでやると、
最後の空行が入ってしまうようなので+1にしてます。
このせいで、他の配列Queue版もSplQueue版も最後に1回pop処理が必要になったりして、ちょっといまいちな印象です。
fileは最後の空行は無視されていました。 ごめんなさい、嘘つきました。
よく見たらfileも最後の空行が入ってしまっていました。 さらにごめんなさい、ベンチで使ったやつはfileのあとにreverseもしてました。
実際はfileだけでログ取得箇所を示す配列のcount入れても、
もっと早くて0.022台〜0.025台です。 echo "str".$a-$b;
PHP Deprecated: The behavior of unparenthesized expressions containing both '.' and '+'/'-' will change in PHP 8: '+'/'-' will take a higher precedence
とかいうのが出た
もうPHP8の季節なのかー >>223
file()は全部メモリに乗っけちゃうんだから、ファイルサイズ以上にメモリ消費するわな。
行数の多いファイルを頭から地道に読み込もうとすると、ループ内のほとんどの時間は無駄になっちゃうから、最後の数行だけ取る処理をlastコマンドに任せた方が早いんじゃないか。
いずれにせよログの巨大化回避の枠組みを作ることの方が先決だろう。 WEBプログラム板けっこう寂れちゃったんだな
PHP7のバージョンアップで前バージョン動かなくなったりしたのが良くなかったんじゃ オワコンとまでは言わないがここを目指す技術者の減少が著しい
今はスマホやゲームから入ってそのままサーバが必要になれば
KotlinやらSwiftやらC#で書くみたいな節があるし
JSの進化とともに昔みたいにこってこてにサーバサイド書くこともなくなって
本当にデータの受渡しだけになってしまったし
共用サーバはPHPとPerlぐらいしか選択肢がなかったころに流行って
PythonとRubyが加わってRoRでモダンなWebFWが完成して
VPSやクラウドが登場して選択肢が増えていって
PCが廃れスマホが主流になった現在、正直今更PHP?だもんな
寂しいけど俺も今からなら絶対PHPは勧めないよ 21世紀になったあたりの頃は
「未来はPCからEmbeded(モバイルなんて言葉はまだ無かった)までJAVAで統一されている」
って言われたものだが・・・ Javaはセキュリティ関連でイメージがすっかり悪くなってしまったからね
Javaのインストールしたくないけど仕方なく入れてる人はわりと見る >>229
ログインしたあとは
JSONとMySQLのやり取りだけだもんな
サーバー側は得意なのでいいよ >>232
まだそんなこと言ってんの?
オラクル製のじゃなきゃ無料で使えるだろ >>234
ライフサイクルが短いから使ってもすぐ上げなきゃいけないとかで実用的でない ■ このスレッドは過去ログ倉庫に格納されています