【PHP】下らねぇ質問はここに書き込みやがれ 11

■ このスレッドは過去ログ倉庫に格納されています
2020/06/05(金) 14:25:26.87ID:RQhNy1WS0
PHPに関する質問スレです

前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 10
http://mevius.5ch.net/test/read.cgi/tech/1543392526/

次スレは>>980以降
本文の1行目に以下を追加すること
!extend:on:vvvvv:1000:512
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
674デフォルトの名無しさん (アウアウオー Sa9f-orE1)
垢版 |
2020/12/10(木) 10:51:09.00ID:gKjbUggqa
>>673
たしかに、大抵の場合、必要になるのは最終的なステータス行とヘッダだけですね
一応すべての結果も保存しつつ、最終的なステータスとヘッダを扱うようにするのが一番スマートかもしれません
ありがとうございました
2020/12/12(土) 23:50:00.99ID:nNCrz9sb0
>>667
ダブルクオートなら、出力する文字列内に変数を埋め込める
2020/12/13(日) 02:30:39.12ID:1g8P/X2hM
phpでRSSリーダー作れましゅか?
2020/12/13(日) 09:45:00.31ID:QKeUnYpp0
もちろん
2020/12/14(月) 07:14:01.07ID:02WDAn5S0
初心者がwindiwsから乗り換えてLamp環境を構築するのにつかうのはUbuntuでいいですか?
2020/12/14(月) 12:02:49.38ID:6glx4u690
最近はDockerで構築して、ホストを汚さないというのが主流なのだよ黄猿くん
どうしてもホストに直接Lampを構築したい場合はUbuntuでもなんでもいいけど
活発なディス取りを選択したほうがいいよ
Vine LInuxとかは論外
2020/12/14(月) 23:17:32.66ID:+PSfqxIi0
仮想マシンで良いならLAMP構築済みのVMアプライアンスでいいんじゃないの
2020/12/15(火) 23:02:44.15ID:D4yBiE4j0
> PHP Warning: PHP Startup: Unable to load dynamic library 'C:\\php\\ext\\php_pdo_sqlite.dll' (tried: C:\\php\\ext\\php_pdo_sqlite.dll 指定されたモジュールが見つかりません。
apacheからsqliteやcurl等の一部のphpのエクステンションが読み込めません。全てではなくmbstringやopenssl等は問題ないようです
OS,php,apacheとも64bitで統一しています。extensionはphp_有り無し、相対パス、絶対パスどれも駄目でした。extension_dirの絶対パス、相対パス、コメントアウトも試しました
phpやextのパスをPATHに入れたりsystem32にDLLを全部放り込んだりPCやapacheの再起動も試しました
DLLはちゃんと存在し、コマンドラインからphp -r "phpinfo();"で確認した場合は問題なく読み込めているようですが解決方法がもう思いつきません
2020/12/15(火) 23:50:45.85ID:hNr+YjXe0
>>681
これでどう?
https://qiita.com/economist/items/86acacb41d8273c57b88
2020/12/16(水) 03:05:04.20ID:9vasbDkP0
>>682
最後二行がドンピシャでした!ありがとうございます
2020/12/19(土) 03:36:21.06ID:/KeMIWwU0
正規表現の質問です

preg _replace関数の中で[\w-]←これでは問題なかったのに[\w- ./?%&=]←このように書くとハイフンがエラーになるのですがなぜですか?
(ちなみに\wとハイフンの間にスペースを開けると正常に動作しました)
どういう挙動なのか教えてください

独習phpという本で勉強をしいますが、そこには[\w- ./?%&=]と書かれていてその通りに書いたのですが本が間違ってるのでしょうか?


preg _replace(‘|http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?)|’ ~
本にはこのように書いてあります。urlのパターンだそうです

よろしくお願いします
685デフォルトの名無しさん (ブーイモ MMd6-EfRV)
垢版 |
2020/12/19(土) 05:30:15.31ID:Rge1PI7OM
性器表現の解答です

ω
2020/12/19(土) 14:45:30.07ID:W83u/fSR0
[a-c]・[1-3]など、[ ]内では、- で範囲を表す特殊文字。
a〜c, 1〜3

だから、[ ]内では必ず、- を最初に書くべき!
[-a-c]

最初に書いたら、絶対に範囲にならないから
2020/12/19(土) 19:13:11.59ID:ZTyl/xlFM
「-」の前に「\」付けたら正規表現特殊文字も使える。
正規表現の話だと思う

Regular Expression(正規表現) Part15
https://mevius.5ch.net/test/read.cgi/tech/1568640311/
2020/12/20(日) 04:04:18.66ID:nZJh8EQNd
>>686
ありがとうございます。
範囲として認識されてしまってたんですね
納得することができました
ありがとうございました。

>>687
スレ違いでしたか、すみません(^_^;)
エスケープすればエラーにならないのは確認できたのですが理屈が分からなかったので

解決できました。ありがとうございます。
2021/01/01(金) 19:20:45.96ID:lyyXQY1i0
laravel勉強中なんですがartisanの読み方はどれがメジャーなんですか?アルチザン?アーティザン?
2021/01/01(金) 20:16:14.67ID:hEezWpWG0
アルチザンでいいですよ

発音→ˈärdəzən
2021/01/03(日) 19:43:40.47ID:RfIWWVNOd
すみません。LAMP環境で作ってくださいと言われたら一般的にはどんな開発環境の事を言うんでしょう。
調べたら具体的にはvirtual_boxでcentOS(Linux)入れてそこにmysql(apache)とphpをインストールして
って事だと思うんですが、MAMPで開発するのとは別物なんでしょうか?
MAMPの場合はhtdocs内に作れば良かったのですが、LAMPだと色々設定する必要があるのでしょうか。

FWはlaravelとvue.jsでherokuにデプロイする事になってます。新年早々の質問ですが、よろしくお願いします。
2021/01/03(日) 22:04:22.32ID:37FlK6+Q0
まずLAMPが何を意味しているのか調べてください
2021/01/03(日) 22:47:11.70ID:HHW162eM0
商用環境がLAMPだからそこで動作するようにしてほしいという意味だろ?

開発環境でそれを再現する手段として、VirtualBoxで構築した仮想のLinuxを使おうがMAMPを使おうが、頼む側からしたらどうでもいいことだろ。
もっとも、その構成なら開発環境のphpとMySQLはdockerで構築し、apacheの代わりにphpのビルトインサーバーを使うのが一般的だろう。
dockerで構築するからlinuxである必要もなくてwindowsだろうがmacでも同じだ。
2021/01/04(月) 23:36:27.86ID:IrsnN8LQd
>>692
>>693
レスありがとうございます。
遅くなってごめんなさい。てっきりLAMP環境で動かす時はMAMP環境でlaravelで書いたプログラムの設定や構成とかを変えなきゃいけないのかと思ってました。
dockerは使った事ないのですが、調べてみますね。
phpのビルトインサーバも知らなかったので試してみます。
2021/01/07(木) 12:34:44.02ID:8J0aXCEO0
phpからmysql接続するときにパスワードに記号がはいってると接続できないっぽいんですがどうやって回避したらいいですか
2021/01/07(木) 12:46:55.65ID:kf91PiaQ0
パスワードを変える
2021/01/07(木) 12:55:09.19ID:8J0aXCEO0
>>696
客先のパスワードだからこっちの権限で変えられないんだ

LinuxのMysqlコマンドでなら接続できるんだけど
PHPライブラリのバグなんかな
2021/01/07(木) 13:06:55.36ID:8CuCnTzB0
なんでこういうレベルの話を聞く人ってエラーメッセージやライブラリの名前書かないんだろ。
2021/01/07(木) 13:09:02.70ID:8J0aXCEO0
>>698
常識問題かと思って

とりあえず標準のライブラリは全部試したけど同じ
Php7.2

エラーはパスワード間違いのアクセスデナイのパスワードYESのやつだ
2021/01/07(木) 14:05:06.26ID:DwSyyeeN0
その記号がバックスラッシュ(エンマーク)だったら笑うが
701デフォルトの名無しさん (ワッチョイ 06ad-Jh9r)
垢版 |
2021/01/07(木) 14:15:18.43ID:8CuCnTzB0
new PDO('mysql:host=localhost', 'root', '*+-^.?');
普通に繋がったが
どうせエスケープが必要な文字の使ったせいだろ
2021/01/07(木) 14:28:54.17ID:8J0aXCEO0
言葉は厳しいけど一応みてくれてるという優しさ


勘違いしてたっぽいわ
全ての権限許可*で許可したら接続できたから
ユーザー権限臭い
コマンドラインからの接続はできてPHPからの接続を拒否する権限ってなんだろうか
2021/01/07(木) 14:36:59.41ID:8J0aXCEO0
自己解決しそう

Ssl証明書での接続必須になってたわ
コンソールからだと勝手にやってくれるけど
Phpからだとオプションで証明書指定しないといけない臭かったか
2021/01/07(木) 15:02:48.00ID:903kMAG8r
いまから開発するならLaravelのどのバージョンにしますか?
2021/01/07(木) 15:55:04.22ID:jxtlzR+V0
>>704
6
2021/01/07(木) 19:19:20.56ID:pzns05gFr
ありがとうございます。10待ちながら6弄っときます
2021/01/07(木) 20:33:55.43ID:8CuCnTzB0
>>705
8でよくね?
無理に古いLTS使ってもアップデートの手間が増えるだけだぞ。
どうせ6使ってる間に10がでたらアップデートすることに変わりは無いだろうし。
708デフォルトの名無しさん (アウアウウー Saa5-1M2c)
垢版 |
2021/01/07(木) 21:42:43.52ID:S8hJgZyua
10にアップデートする前提で6から始める意味あるの?
10にアップデートしない前提で6使うならまだ分かるんだけど
2021/01/13(水) 19:35:47.51ID:kAP3w8wJ0
仕事で作っていて、運用もやるとか今まで無かったので基本的には6で作ってたな
そもそも運用中にバージョン上げるのは俺はやりたくないな
修正が軽微でも保証できんし
2021/01/13(水) 21:40:24.79ID:ztObQg440
>>709
単体テスト書かない人?
2021/01/13(水) 21:57:56.35ID:NeTIWmTs0
そういう問題か?
712デフォルトの名無しさん (ワッチョイ df5f-/ZZX)
垢版 |
2021/01/14(木) 16:20:55.92ID:QsRAXjiw0
sql文のcountを使い、humanテーブルのレコード件数を取得し出力したいのですが、 Object of class SQLite3Result could not be converted to string in
のエラーが出て困っています。
@humanテーブルのレコード件数を表示する方法を教えてください。(sql文はうまく動いているのが確認できているので、表示する方法を教えていただきたいです。データベースの接続も正常です。)
Asqlの出力って配列のみなのでしょうか?
<?php
// 変数の初期化
$db = null;
$query=null;
$con =null;

$db = new SQLite3("test.db");

$res = $db->query ($sql);
// データの取得

$query = "SELECT count (id) from human";

//クエリを実行
$con = $db->query($query);

//データの件数を表示する
print $con;
?>
2021/01/14(木) 16:37:30.56ID:60StI2w00
SQlite3Result型の変数を文字列に変換するなと怒られている。
マニュアル読め。
https://www.php.net/manual/ja/class.sqlite3result.php

@
$con->fetchArray()[0] で取れるんじゃない?
使ったことないから知らんけど、マニュアル見た限りではそうなる。

A
配列になるというか、SQLの結果は必ず行単位で取得する。
そのSQLは必ず1行のレコードを取得する。
それをSQliteのライブラリが配列に変換してる。
714デフォルトの名無しさん (ワッチョイ df5f-ViLM)
垢版 |
2021/01/14(木) 17:38:52.35ID:QsRAXjiw0
>>713
ご丁寧にありがとうございます。

始めて質問したのですが、この質問はここでは底辺過ぎて邪魔ですかね?
2021/01/14(木) 19:02:30.77ID:60StI2w00
>>714
くだらない質問だとは思うけど、スレタイに忠実だし別に良いんじゃないかな。
ただ、マニュアルくらい読めばいいのにとは思う。
2021/01/15(金) 13:05:00.59ID:U/7PVjT10
知識がPHP5.2までしかないから無名関数とからいろいろついていけない
2021/01/21(木) 16:55:45.08ID:Wo9hOM7k0
xamppでバーチャルホストを複数設定している場合(プロジェクトも複数として)
composerはどこにインストールすべきものなのでしょうか?
2021/01/21(木) 19:00:52.26ID:efEshSJd0
プロジェクトごと
2021/01/21(木) 19:24:24.96ID:Wo9hOM7k0
>>718
レスありがとうございます
テストプロジェクト作ってそこでいろいろうりうりやってみます、、
2021/01/21(木) 19:26:00.33ID:xWHELsa7r
>>719
わからなかったら何でも質問してくれ
他の奴らが答えるから
2021/01/21(木) 19:51:41.37ID:8rFkGfvd0
住所氏名電話番号を教えてください!
722デフォルトの名無しさん (ワッチョイ a7bd-Woof)
垢版 |
2021/01/23(土) 19:55:12.77ID:ysseBO3v0
重複なしなら、01,02,09の組み合わせで110点だな
重複ありなら、01,01,02で105点だな

https://ux.getuploader.com/dialogues_txt/download/386
2021/01/25(月) 14:18:25.47ID:D5RVx5Sx0
Laravelで、DOMをjquery(ajax)で書いてたんだけど、
vueとかphp(bladeでforとか沢山やっちゃう)で作る選択肢あるじゃないですか
結局みなさんどうしてるんですかね

他の人が「こんなんどうかな」ってphpのでやってきてちょっと懐疑的になってきた
vueも理解させる時間がもったいないし。。
ちょっとした業務システム作るのに迷ってきたんで世の人々はどうしてるのかか知りたくなりました
2021/01/25(月) 15:11:19.75ID:SVsyFtcMr
その性格損するからさっさとゴミのようなアイデアは捨てろ
とりあえず動けば何でもいい
2021/01/25(月) 15:19:31.66ID:rFdDXUqQ0
>>723
ちょっと何言ってるのか分からない。
背景を語るのは良いんだけど、質問自体は端的にしてほしい。
726デフォルトの名無しさん (ワッチョイ 8701-rvE3)
垢版 |
2021/01/25(月) 23:33:31.61ID:hTjxnanw0
セキュリティ対策って具体的に何をやっておけばおkですか?
2021/01/26(火) 07:22:24.05ID:hF1ixI5M0
>>726
最低限、XSS, CSRF, SQLインジェクション
パラメータ改ざん攻撃は全部対策が必要
2021/01/26(火) 14:53:18.81ID:qsHPBWwm0
>>723
Ruby on Rails なら、React, Bootstrap が多い。
Bootstrapには、jQuery も含まれるから、jQueryも使える

JavaScript(JS)も、埋め込みRubyのERB で書く。
ERBは、あらゆるコード内に、<%= 〜 %>, <% 〜 %> で、Rubyのコードを埋め込める

JSを書く場合でも、a.js.erb として、
JSコード内に、Rubyのコードを埋め込んでから、JSに変換する
2021/01/27(水) 14:04:40.67ID:+2P7csD20
なんだかんだでVueはやっぱりやめました
Vueだと要素にバインドするまではいいけどデバッグ中DOMとして分かりづらいし、
Laravel的に別に嬉しくなかったので

業務だとtableとmodalのフォームとAPIコールがよく絡むので、
Vueのcomponentが増えて見るとこ多すぎて説明疲れる
ただでさえblade.phpも盛りだくさんになるのに

表示するだけとかのページならVueもいいんだろうけど、、
2021/01/27(水) 15:46:19.46ID:19GDarhJr
>>729
結局どうしたの
2021/01/27(水) 16:05:49.74ID:+2P7csD20
>>730
基本jqueryですね
API読んでDOM更新がデフォで、トランザクションじゃないデータはPHPで処理でも可、みたいな
table elementゴニョゴニョしてdivとかにポン、は分かりやすかったみたいで
2021/01/27(水) 20:16:39.96ID:QH0ebUwS0
>>726
IPAが公開している「安全なウェブサイトの作り方」の内容ぐらいは理解しような。。
2021/01/27(水) 23:50:12.71ID:19GDarhJr
>>731
オメーの能力がゴミってことがわかっただけだった
2021/01/28(木) 00:27:36.44ID:i162Y0KY0
>>731
> トランザクションじゃないデータはPHPで処理でも可
これ意味が分からん
トランザクション処理と画面がどう関わるんだよ

> table elementゴニョゴニョしてdivとかにポン
もはや意味不明で草
2021/01/28(木) 08:37:49.96ID:anHvMtVnr
>>733
教えるのって大変で無理だと思いましたわ
いい教え方とか解決法書いてくれると嬉しいですねえw

>>734
マスタデータ(営業所リストとか)のhtmlはphpでも可、みたいなふんわりですねえ
注文データとかはトランザクションデータとして扱って分けて考えてますねえ
DB機能のトランザクションとかは意味が違いますねえ
2021/01/28(木) 09:19:08.40ID:aewp37lar
>>735
マスターデータの表示とトランザクション系の表示は画面が違うの?
同じ画面内であればトランザクション系だろうがそうじゃなかろうが表示方法は同じでいいと思うんだが
2021/01/28(木) 09:55:08.55ID:VHKH082W0
>>736
そこは突っ込まれると微妙なところで、
phpのほうで描画してもいいじゃんて言う意見をひっくり返せなかったんですよね
操作によるDOM再構築とかの対象にはならない、画面リロードで十分、少しは通信量減るじゃんと言われるとそれまでで

でも例えば営業所に紐付く担当営業プルダウンリストなんかは、営業所を選択するとリストを置き換えるjqueryなんですよね
自分は統一したいけど結局最後は書く人次第なとこもありますわ。。
2021/01/28(木) 12:47:10.81ID:aewp37lar
>>737
Reactしかやったことないからvueは知らんけどどっちにしてもリアクティブになってるから営業所を選択するとリストは勝手に置き換わる仕組みなはずだがそうしてないの?

マスター系だろうがトランザクション系だろうがバックエンドで選択するのかフロントエンドで選択するのかはどっちでもよくて
単にAPIの呼び出し結果どおりに表示すればいいのに、こっちはphpで書いてこっちはvueで書いてのほうがむしろ煩雑になるだろ

DOM再構築はvueが宣言的だから勝手にやってくれるのにjqueryだと命令的だからむしろ今後苦しくなる
2021/01/28(木) 13:45:02.18ID:5v0AYgYFr
>>738
まさに言うとおりです
Vueを辞めた理由はそのリアクティブな書き方を説明しても理解されにくいとこにありました

業務アプリ用途で、
tableがあったとして、その行をクリックするとそのrowのデータを動的にmodalに反映して表示して、
さらにそのなかで操作次第でaxiosやらmodal切り替える、とかあるんですけど、
そうなると子コンポーネントとして新たに作っていかないと行けなくてそれが多階層に渡ってくるんですよね
それがjqueryでの単純さやhtmlの長さに慣れた人には理解したくない、できないことらしいです
だからvueファイルがやたら増えるとか理由つけてくるんですよね、共通化も限界あるし

DOMのphp側JS側云々はVueやらないって話の後ですね
メンバーは機能ごとにLaravelのcontrollerもViewも書くので、controllerからViewに変数渡すのはその人の責任範疇内だといえばそれまでという
2021/01/28(木) 14:26:43.42ID:aewp37lar
>>739
開発の規模がそれほど大きくないなら好きなようにすればいいけど、中規模以上で今後スケールするならそのやり方だと厳しい

そもそも古いやり方を選択したのならそれしかないんじゃない?
2021/01/28(木) 14:34:41.24ID:5v0AYgYFr
>>740
全くそのとおりですわ
Laravel使ったのも「今までの知識でもなんとか通用しそう」ってとこだったっぽいし

皆さんはどうやって新しい手法を啓蒙していけたのか気になりますね
742デフォルトの名無しさん (オッペケ Srbd-kyke)
垢版 |
2021/02/01(月) 21:46:55.61ID:nqzlz3d5r
タグクラウドのリンク先を自作したいのですが可能でしょうか?
固定ページ、投稿ページを原型がない状態になるまでカスタマイズしたのですが、タグクラウドを設定した際にリダイレクト先が元の残念なデザインになってしまいます。
huemanをカスタマイズしたのですが、構造が複雑なため手に負えませんでした。
2021/02/01(月) 22:04:59.00ID:KcF6/QTu0
YouTube で有名な、雑食系エンジニア・KENTA が言うのには、
自社開発系へ就職するには、Ruby on Rails でポートフォリオを作る

だから皆、80万円払って学校へ通う。
それで、マコなりは何十億円ももうけている

一方、Java なら誰でも受かるから、勉強しなくてよい。
そのかわり土方だから、20年やっても、年収は300万円行かない

KENTA は、Java, PHP を言わない。
Rails しか言わない
2021/02/01(月) 22:26:55.07ID:KcF6/QTu0
>>737
Ruby on Rails でも、サーバー側で、HTML を作る

React, Bootstrap, jQuery は、単に画面だけ。
DB・ビジネスロジックは、Rails へ集める

これが、MVC の基本

>>728
に書いたように、HTML, JavaScript のファイルにも、
ERB で、Rubyの構文を埋め込んで作る
2021/02/01(月) 22:34:59.18ID:KcF6/QTu0
Ruby on Rails でも、Vue.js も選択できるけど、使う人はいない

ほとんどが、React, Bootstrap。
jQuery は依存関係で、Bootstrapに含まれている

Railsは米国人主体だから、中華製のVueは使わない
2021/02/01(月) 22:49:32.06ID:HNpq86jA0
Rubyガイジって頭悪そうだよね
bootstrapも5になるとjquery不要になるし
レガシーガイジにはついて行けなくなるか
2021/02/02(火) 11:58:53.33ID:Dp19tSrM0
ERB とJSX も、書きやすい

埋め込みRuby のERB、a.html.erb から、
React コンポーネントのFoo.jsx へ、インスタンス変数などを渡せる

サーバー側のRubyで、HTMLを作って、GUI はReactと、役割分担も明確
2021/02/02(火) 12:15:30.15ID:Dp19tSrM0
Rails には、API モードもあるので、
サーバーからHTML ではなく、JSON を返す事もできる

この場合は、Rails, React, GraphQL とか

JSONにする利点は、スマホアプリにも対応できる点
2021/02/02(火) 20:51:05.74ID:C68jPC2ir
気持ち悪い
だからRuby信者は嫌われてるんだよ
750デフォルトの名無しさん (テテンテンテン MM3e-kyke)
垢版 |
2021/02/03(水) 01:52:21.65ID:vIRw3p5/M
自作検索フォームでキーワードごとに条件分岐させて検索結果にそれぞれ違うコンテンツを実装したいんですが、
キーワードごとに分岐させることは可能でしょうか?
調べたんですが、どこにも書いておらず本も何を参考にすればよいかわからず。教えてくださいお願いします。
2021/02/03(水) 10:56:38.05ID:CubQB6aCd
https://blog.codecamp.jp/php_get_post
2021/02/08(月) 17:25:08.00ID:BQbySsyl0
いまからPHPを勉強しようと思って、
このページを参考にしようかなと思っているのですが、情報が古いですか?

https://gihyo.jp/dev/serial/01/start-php/
2021/02/08(月) 17:33:27.60ID:MYyBpjYR0
>>752
めちゃ最新情報だな
これは参考になる
2021/02/08(月) 18:39:10.94ID:85k1cla3M
>>752
そのページのPHP5.2.5は古い。PHPの最新は8.0。
ウィンドウズXP使ってるなら参考になるかもだけど古い
2021/02/08(月) 19:25:12.71ID:YmxwiogA0
PHP7を勉強していれば問題は無いかと
2021/02/08(月) 20:23:10.13ID:ayLQs4lP0
5から7だと色々違いがある
最初から覚えるなら、7からで良いと思う
余裕があったら、5も覚えてみれば
757デフォルトの名無しさん (テテンテンテン MM8f-bIIU)
垢版 |
2021/02/08(月) 20:30:29.64ID:mgsZQSHEM
RSS2.0を自作しているのですがチェックしてもこのサイトで重大なエラーが表示されましたと表示されどこが間違っているのか分かりません。
エラー原因を突き止める場合はどのような事をすれば良いのでしょうか?
構文のエラーはチェックしましたが問題ありませんでした。
2021/02/08(月) 20:36:26.83ID:X6cUa6MG0
>>757
ほんとに「このサイトで重大なエラーが表示されました」なんて表示されたのか?

お前の提供する情報は全く信用できないんで、まず「構文のエラーはチェックしましたが問題ありませんでした。 」の根拠から提示しろ
2021/02/08(月) 20:38:22.41ID:0fSH6U0R0
最も単純で間違いようがない、1文だけのRSS を作って、やってみれば?

それでエラーになるなら、システムのどこかがおかしいから、エラーログを見る
760デフォルトの名無しさん (テテンテンテン MM8f-YdrO)
垢版 |
2021/02/08(月) 20:44:52.90ID:mgsZQSHEM
https://freelancer.hatenablog.jp/entry/2017/05/03/%E6%84%8F%E5%A4%96%E3%81%A8%E7%B0%A1%E5%8D%98%E3%81%ABphp%E3%81%A7RSS2.0%E3%81%A8Atom%E3%81%AE%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%82%92%E7%94%9F%E6%88%90%E3%81%A7%E3%81%8D%E3%81%9F

https://www.gekkoseisaku.com/blog/product/4302/

こちらの2つを参考にしました。


ライブラリの読み込みは
https://ドメイン/wp-content/themes/hueman_child/Feed.php
https://ドメイン/wp-content/themes/hueman_child/Item.php
https://ドメイン/wp-content/themes/hueman_child/RSS2.php

// エイリアスの作成
use \FeedWriter\RSS2;
よくわからなかったのでただコピーしました

// ファイルの保存場所を設定
https://ドメイン/home/aaa/bbb/rss2.xml

public_html/home/aaa/bbb ここにrss2.xmlというファイルを作りました
2021/02/08(月) 21:01:57.29ID:X6cUa6MG0
>>760
ヒアリングまでするつもり無いから指摘だけするけど、お前のそれは自作じゃない
WordPressにライブラリを使ってRSSを導入しようとしたって書け
で、多分構文チェックも「吐き出されたRSS」に対してのものじゃなくて、phpのsyntax errorが出てないとかそんな話だろ?
まず質問を「正確な情報に整理」しろ
762デフォルトの名無しさん (テテンテンテン MM8f-YdrO)
垢版 |
2021/02/08(月) 21:15:57.71ID:mgsZQSHEM
>>761
すみません。
wordpressで前も質問したのですが結局ライブラリの読み込みに失敗してうまくいかなかったのですが、画像パスと同じようにフォルダまでのパスを書けば通常読み込み可能なのでしょうか?
エラーもどのようにチェックすればよいか分かりません。
763デフォルトの名無しさん (テテンテンテン MM8f-YdrO)
垢版 |
2021/02/08(月) 21:18:59.07ID:mgsZQSHEM
w3cでチェックしたのですが構文にエラーはなく内部サーバーエラー 未定義のルート要素:エラーと出てきます。
2021/02/08(月) 21:20:58.62ID:0fSH6U0R0
WordPress の質問は、web制作管理板の方へ書き込んでください!

たぶん、この板よりも、やってる人が多いはず
2021/02/08(月) 21:23:26.20ID:0fSH6U0R0
結局は、WordPress の本・説明書を読むしかない

個別のアプリの使い方を聞かれても、やっていない人には分からない
766デフォルトの名無しさん (テテンテンテン MM8f-YdrO)
垢版 |
2021/02/08(月) 21:30:27.36ID:mgsZQSHEM
php.iniでRSSを開いた場合error on line 2 at column 1: Extra content at the end of the document
と表示されています。
767デフォルトの名無しさん (テテンテンテン MM8f-YdrO)
垢版 |
2021/02/08(月) 21:45:25.18ID:mgsZQSHEM
>>764
すみません。おそらくwordpress関係なくパスのエラー構文エラーです。
768デフォルトの名無しさん (テテンテンテン MM8f-YdrO)
垢版 |
2021/02/08(月) 22:26:53.47ID:mgsZQSHEM
ライブラリの読み込みを
require_once "Item.php" ;
require_once "Feed.php" ;
require_once "RSS2.php" ;

参考サイト様のように戻すとエラーが一つ解消されました。
http://weble.org/2011/06/18/php-simplexml_load_string 不要な文字列が出てるのが問題だというエラーでした。

新たにInvalid argument supplied for foreach() 
/home/cwfpagfn/public_html/wp-content/themes/hueman_child/feed-rss2.php</b> on line <b>23</b> 

23行目のforeach()に無効な引数が指定されましたとエラーが出てきました。
2021/02/08(月) 22:40:05.99ID:0fSH6U0R0
この板で聞いても、WordPress をやってる人がいないのでは?

基本的に、WordPress の本・説明書を読むしかない。
その説明を理解して作るしかない

他のサイトからコピペして動かせるのは、既に勉強して、仕組みを分かっている人だけ。
仕組みを分かっていないのなら、WordPress の本・説明書から始めるしかない
770デフォルトの名無しさん (テテンテンテン MM8f-YdrO)
垢版 |
2021/02/08(月) 22:45:52.99ID:mgsZQSHEM
今まで使えなかった原因がわかりました。レンタルサーバーの仕様でhome/契約時のパス/フォルダ名にしていなかったためパスが通っていなかったみたいです。

Invalid argument supplied for foreach() エラーが出ているのは構文を変えなさいと警告されてました。
771デフォルトの名無しさん (テテンテンテン MM8f-YdrO)
垢版 |
2021/02/09(火) 01:41:52.35ID:rcWBANw5M
Invalid argument supplied for foreach() エラーは
foreach ($list as $key => $value){ が配列の形式で文を実行していたため起こったので
(arry)を付け加えましたforeach ((arry)$list as $key => $value){ 

w3cで確認したところ最後のエラーが書いてありXML parsing error: <unknown>:1:0: no element found
とあったのですが、記事をWP SHOW POSTSプラグインで上げているためかRSSが認識されず真っ白になります。
2021/02/09(火) 07:57:37.02ID:fL1ri4wnM
WordPressならローカルで動かしてデバッグ実行したほうが解決しやすいんじゃないの?
レンタルサーバーのphpにXdebugも設定されてたらそれ使ってデバッグもできるかも
2021/02/11(木) 17:27:04.74ID:ZgxDXcht0
>>771
それ、全然解決になってない

Invalid argument supplied for foreach()って書いてるよね?
つまり、foreach() には「配列」や「オブジェクト」を渡せるけど、
$listはforeach()で扱える型にはなってないってこと

だったらまずは
var_dump($list);
とでも書いて、中身がどうなってるか確認しないと…
たぶん、中身はNULLか(boolの)falseになってるのでは?

あと>>770に今更気づいたってことは、PHPのエラー設定がおかしいってこと
PHPはエラー内容を細かく出力したりログに残したりできるから、それを見れば>>770なんてすぐ気づく

だからまずはエラー設定から見直すべき
WordPressぐらい「本当にPHPが書ける人なら」どうにでもできるけど、WordPress云々以前の話
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況