登録日
2018年5月6日

メンバー検索

  

Jun1chi

名前(ニックネーム)
Yamachann11
ホームページ
http://www8.plala.or.jp/a_ITC
自己紹介
5.6.0.2 & 8.4.4のユーザです。
普段は、お客様のIT化支援を行っています。ITC(ITコーディネータ)です。

Webサイトは、MindMapとHTML+CSSで3か月かけてゴリゴリに作ったのが最初(2009年)です。


concrete5との出会いは2015/04ですが、ずっと5.6.0.2ベースのサードパーティのものです。



8.3.2の新しいconcrete5の書籍(concrete5導入とサイト制作の教科書)を買って(2018/06)読み

新サイト構築(2018/07)しました。


コミュニティーのサポートが素晴らしい。「コミュニティー」最高です。
(自分が解決できない問題は、コミュニティーに頼っています。)


localに開発環境の構築(MAMP)もできました。
(デプロイは(Windows → Linuxで)失敗。 
 原因は、
  Windows(MAMP)側で、
 「lower_case_table_namesの設定を”2”に(テーブル名の大文字小文字を区別する)設定する。」を怠った為です。

 再度mysqlのmy.iniを設定し直し上手く行ったのですが、
この辺りは教科書に載っていなかった様な?・・・これで1度ハマり中々抜け出せなかったので、ここに備忘録代わりに記載しています。)


MAMP側の解決方法が暫く判らなかったので、
ホスティングサーバー(Linux側)で、localhostのページを見ながら、直接・編集&公開


version8.3.2から始めて、8.4.0、8.4.3、8.4.4へバージョンアップしました。

逆パターン: Linux(ホスティングサーバー) → Windows(MAMP) では、未だ上手く行っていません。
(鋭意努力中(笑)ですが、・・・中々・・・)

皆さま、宜しくお願いします。
concrete5.org のユーザー名
jun1chi
concrete5 Slack Team ID
Twitterアカウント
@jun1Naka
フォーラム総投稿数
88

コミュニティバッジ

投稿

1から10までを表示 (計88)

Re: controller.phpでの緊急・例外エラー発生について

DeaconBlues様
|ありがとうございます。

358 $qsID = intval($_POST['qsID']); の前に追加しています。
結果
359 $qsID = intval($_POST['qsID']); となっています。

でも、問題はこれでは無いんです。

|とりあえず、該当位置に358 if (!isset($_POST['qsID'])) {return;} // 2019/08/27暫定add
を追加して回避する様にしていますが、

|エラーが起こったら、
|Exception Occurred: /home/a-itc/a-itc.info/public_html/updates/concrete5-8.4.4_remote_updater/concrete/blocks/form/controller.php:360 設定されたフォームになにか問題があります(ID番号が設定されていません) (0)
を回避することができても、

根本的に「controller.php:360 設定されたフォームになにか問題があります」のフォームにどの様な問題があるのかわからないですし。

フォームには(入力項目の追加、チックボックス項目の追加、reCAPTCHAの追加位ですから)特別な変更を加えているつもりもないのに


どうして「設定されたフォームになにか問題があります」とうエラーになるかわからないからです。


ですので、
現在は 358 // if (!isset($_POST['qsID'])) {return;} // 2019/08/27暫定add とコメント化しようと考えています。


オリジナルcontroller.phpの、付近のコードは以下の様になっていました。
357 //question set id
358 $qsID = intval($_POST['qsID']);
359 if ($qsID == 0) {
360 throw new Exception(t("Oops, something is wrong with the form you posted (it doesn't have a question set id)."));
361 }
362 $errors = [];


現在は、
357 //question set id
358 if (!isset($_POST['qsID'])) {return;} // 2019/08/27暫定add
359 $qsID = intval($_POST['qsID']);
360 if ($qsID == 0) {
361 throw new Exception(t("Oops, something is wrong with the form you posted (it doesn't have a question set id)."));
362 }
363 $errors = [];

です。

Posted on 9月 05, 2019 at 8:39 午前

Re: controller.php:360 設定されたフォームになにか問題があります(ID番号が設定されていません) (0)

根本的な解決を求めて、

新しいスレッド「controller.phpでの緊急・例外エラー発生について」を書きました。

よろしくお願いいたします。

Posted on 9月 04, 2019 at 1:21 午後

controller.phpでの緊急・例外エラー発生について

お世話様です。

controller.phpでの緊急・例外エラー発生について

バージョン8.4.4(Xserver)で、「360 設定されたフォームになにか問題があります(ID番号が設定されていません) (0)」エラーが多発しています。

とりあえず、該当位置に
358 if (!isset($_POST['qsID'])) {return;} // 2019/08/27暫定add
を追加して回避する様にしていますが、
これでは根本的な解決にならないと思いますので、エラーとなる原因について対応を教えていただきたいと考えています。

オリジナルcontroller.phpの、付近のコードは以下の様になっています。

357 //question set id
358 $qsID = intval($_POST['qsID']);
359 if ($qsID == 0) {
360 throw new Exception(t("Oops, something is wrong with the form you posted (it doesn't have a question set id)."));
361 }
362 $errors = [];


宜しくお願いします。

尚、エラーは、
日付:3/20、4/7、4/24、5/2、5/15、5/22、5/31、6/20、6/22、7/1(2回)、7/20、7/26、7/30、8/1、8/5、8/26の間隔で、都合17回発生しています。

"2019/08/05 15:51:00",EMERGENCY,例外,ゲスト,"Exception Occurred: /home/a-itc/a-itc.info/public_html/updates/concrete5-8.4.4_remote_updater/concrete/blocks/form/controller.php:360 設定されたフォームになにか問題があります(ID番号が設定されていません) (0)"

p.s. メールフォームの問題かと思いますが、
エラーが発生せず、長文のメールでも届く場合もあります。

特別な編集はしていません。
入力項目の追加、チェックボックスの追加、reCAPTCHAの追加位です。


よろしくお願いいたします。

p.s.2
エラーの起きているバージョン8.4.4と、
/home/a-itc/a-itc.info/public_html/updates/concrete5-8.4.4_remote_updater/concrete/blocks/form/controller.php と

バージョン8.5.1の C:\_MAMP\htdocs\concrete5\concrete\blocks\form\controller.php をWinMergeで比較してみました

比較対象が正しいかは不明ですが、ステートメントの違いが見受けられます。

(バージョン8.5.1にバージョンアップしたら解決するかもしれませんが・・・)

添付ファイル.pdfを追記します。


よろしくお願いいたします。

添付: controller.pdf
Posted on 8月 27, 2019 at 10:40 午前

Re: controller.php:360 設定されたフォームになにか問題があります(ID番号が設定されていません) (0)

ありがとうございます。
修正して様子をみてみます。

Posted on 8月 18, 2019 at 9:04 午前

Re: 教えてください。ResponseAssetGroup.phpで例外エラーが出ています。

菱川さん

ありがとうございます。

キャッシュをクリアして様子を見てみます。

Posted on 8月 16, 2019 at 9:25 午前

教えてください。ResponseAssetGroup.phpで例外エラーが出ています。

これは、先日来発生している未解決のエラーとは異なるようです。

エラー内容は以下の通りです。
2019/08/11 12:17:20 例外 ゲスト
Exception Occurred: /home/a-itc/a-itc.info/public_html/updates/concrete5-8.4.4_remote_updater/concrete/src/Http/ResponseAssetGroup.php:62 Method Concrete\Core\Asset\JavascriptAsset::__toString() must not throw an exception, caught Whoops\Exception\ErrorException: unlink(/home/a-itc/a-itc.info/public_html/application/files/cache/overrides/1952a01898073d1e/561b9b4f2e42cbd7/38a865804f8fdcb6/57cd99682e939275/4fd1a8bbda9fedac/9a84e7130af2ac10.php): No such file or directory (1)

環境:Xserver
  :concrete5 8.4.4
  :stuccoテーマ
  :MySQL 5.7.16
  :PHP version: 5.4.16

どなたか教えてください。

よろしくお願いいたします。

Posted on 8月 15, 2019 at 5:03 午後

Re: controller.php:360 設定されたフォームになにか問題があります(ID番号が設定されていません) (0)

DeaconBluesさま
返信ありがとうございます。

エラーが頻発していますので、修正したいと思います。

お手数ですが、
追加したコード自体を教えて戴ければ幸いです。

よろしくお願いいたします。

Posted on 8月 08, 2019 at 12:26 午後

Re: controller.php:360 設定されたフォームになにか問題があります(ID番号が設定されていません) (0)

お世話様です。

ご指摘の内容を確認したのですが、具体的にどの様な対応をすれば良いかが分かりませんでした。

その後も、6/20、6/22、7/1、7/20、7/26、7/30、8/1、8/5とエラーが出続けています。

お手数ですが、もう少し内容(対応した部分)を教えて戴けませんでしょうか>

エラー
Exception Occurred: /home/a-itc/a-itc.info/public_html/updates/concrete5-8.4.4_remote_updater/concrete/blocks/form/controller.php:360 設定されたフォームになにか問題があります(ID番号が設定されていません) (0)

360付近のコード

357 //question set id
358 $qsID = intval($_POST['qsID']);
359 if ($qsID == 0) {
360 throw new Exception(t("Oops, something is wrong with the form you posted (it doesn't have a question set id)."));
361 }

Posted on 8月 06, 2019 at 3:48 午後

Re: Re: phpMyAdminでのインポートの際のエラーの解消方法

お役に立てて
良かったです

Posted on 7月 22, 2019 at 8:45 午前

Re: phpMyAdminでのインポートの際のエラーの解消方法

Table 'calendareventversions' already exists

は、インポート側に既に存在するというエラーです。

テーブル'calendareventversionsはすでに存在する

インポート側のテーブルは、全て削除してからやり直してください。



しかし、ローカル側で開発したテーブル名が全て小文字になってしまっています。

これでは、インポートできたとしても、concrete5は動作しません。



ローカルの開発環境の環境設定に誤り(設定漏れが)あります。

問題になった、calendareventversionsテーブルだけでなく、
全てのテーブルが小文字で作成されてしまっています。


本来のテーブル名は、CalendarEventVersionsです。
テーブル名が、   calendareventversions となった背景は、
テーブル名の大文字小文字を区別するかどうかの設定漏れたためです。


例えば、
開発環境がWindowsで
本番環境がLinux
の場合、

Windows側で、データベースを作成する前に
my.iniの(lower_case_table_names)の値を変更しなければなりません。26Line辺りの[mysqld]の直下に値を追加

26 [mysqld]
27 lower_case_table_names = 2



※ Windowsでの大文字・小文字の扱いに注意
Linuxは標準で0、windowsは1、が設定されている。そのためOSの異なるMySQL間で移行する場合は注意が必要。

MySQLではlower_case_table_namesという設定パラメータがあります。

これはテーブル名の大文字小文字を区別するかどうかの設定を行うもの(Windowsはデフォルトが1)

この状態ではSQL文でテーブル名を大文字にしても、作られるテーブルは小文字に丸められる。


MySQL の lower_case_table_namesについて,テーブル名とデータベース名の中の大文字小文字について
Linux環境は設定値が1ではなく、SQL通りに大文字でテーブルが作られていたので、Linux環境にデプロイすると動かない。


単一プラットフォーム上での開発に統一すればよいのですが、Windowsでは、各々で気をつけるしかない。


OS XやWindowsではlower_case_table_names=2を使用する。

その他のシステムでは0(Linux)を使用する。

SHOW TABLESやSHOW DATABASEを叩いた時でも大文字と小文字が区別された名前を確認することが出来る。

一方でOS XやWindows上で,ユーザのステートメントがデータベース名やテーブル名をひくときに大文字と小文字が正確に区別されているかを確認する必要がある。


残念ですが、テーブルを作り直す必要があります。
今のままデータベースを残しておいて

作り直す方法は2つです。

1. lower_case_table_names = 2で新しくテーブルを作成し、
旧テーブルから新テーブルに全てのデータをINSERT INTOで移行し、
新しいデータベースを本番環境に移行する。

2. lower_case_table_names = 2で新しくテーブルを作成し、
旧環境のページを参照しながら、
新しい環境でページを作りなおしてから、本番環境に移行する

Posted on 7月 17, 2019 at 11:44 午後