2つ目のサイトを作成後、ページ新規作成時にエラー表示 投稿する
投稿者:kamo
投稿日時:2025-10-21 10:29:25
いつもお世話になっております。kamoです。
同一サーバーのSOYCMSに別サイトを作成してリニューアルデザイン変更を確認したいと思っています。
現在環境は、XサーバーSOY CMS 3.20.2 , PHP 8.2.28のsqlite版で稼働中です。
上記環境で、2つ目のサイトを作成後、ページ新規作成を行うと、
一瞬エラーコードが表示されます。エラーは以下です。
ページ作成時のエラー表示はすぐに消えてページ自体は作成できますが、
上記をでなくするにはどこを直すとよいでしょうか。
また、一旦運用中サイト構成をコピーして、その後ページデザインなどを変更したいと思っています。
稼働サイトのdbをコピーして追加した2つ目のサイトに上書きをすると
ドメインもルート設定している稼働中ドメインになりますが、
以下の記事では、サーバー引っ越しの手順が記載されていますが、
https://saitodev.co/soycms/soycms/tutorial/%E3%82%B5%E3%83%BC%E3%83%90%E3%81%AE%E5%BC%95%E3%81%A3%E8%B6%8A%E3%81%97/
同様に以下の部分のサイトIDを2つ目のIDに書き換え
するだけで大丈夫でしょうか。
以上、2点の対応方法をお教え頂きたく、よろしくお願いいたします。
同一サーバーのSOYCMSに別サイトを作成してリニューアルデザイン変更を確認したいと思っています。
現在環境は、XサーバーSOY CMS 3.20.2 , PHP 8.2.28のsqlite版で稼働中です。
上記環境で、2つ目のサイトを作成後、ページ新規作成を行うと、
一瞬エラーコードが表示されます。エラーは以下です。
Deprecated:json_decode(): Passing null to parameter #1($json) of type string is deprecated in / home/userID/domain.com/public_html/soycms/common/lib/soy2_build.min.php on line 846
Deprecated:strlen(): Passing null to parameter #1($string) of type string is deprecated in / home/userID/domain.com/public_html/soycms/common/action/site/Page/PageActionForm.class.php on line 69
Deprecated:strlen(): Passing null to parameter #1($string) of type string is deprecated in / home/userID/domain.com/public_html/soycms/common/action/site/Page/PageActionForm.class.php on line 85
Deprecated:strlen(): Passing null to parameter #1($string) of type string is deprecated in / home/userID/domain.com/public_html/soycms/common/logic/site/Page/CreatePageLogic.class.php on line 56
ページ作成時のエラー表示はすぐに消えてページ自体は作成できますが、
上記をでなくするにはどこを直すとよいでしょうか。
また、一旦運用中サイト構成をコピーして、その後ページデザインなどを変更したいと思っています。
稼働サイトのdbをコピーして追加した2つ目のサイトに上書きをすると
ドメインもルート設定している稼働中ドメインになりますが、
以下の記事では、サーバー引っ越しの手順が記載されていますが、
https://saitodev.co/soycms/soycms/tutorial/%E3%82%B5%E3%83%BC%E3%83%90%E3%81%AE%E5%BC%95%E3%81%A3%E8%B6%8A%E3%81%97/
同様に以下の部分のサイトIDを2つ目のIDに書き換え
するだけで大丈夫でしょうか。
define("_SITE_DSN_","sqlite:/ドキュメントルート/サイトID/.db/sqlite.db");
define("_CMS_COMMON_DIR_", "/ドキュメントルート/cms/common");
以上、2点の対応方法をお教え頂きたく、よろしくお願いいたします。
投稿者:kamo
投稿日時:2025-10-21 14:16:54
kamoです。
質問の「また、一旦運用中サイト構成をコピーして、その後ページデザインなどを変更したい」
という内容ですが、
---------------------------
1.一旦新しいサイトを作成
2.運用中のサイトIDから「.db」のsqlite.dbをコピーして新しいサイト.dbのsqlite.dbを上書き
3.フロントコントローラーの再設定とキャッシュの削除
4.「files」のコピー
5.必要に応じてcssやjs、imageファイルをコピー
6.お問い合わせは新しいデザイン用にテンプレートを作成して設定を変更
-------------を行ったところ、
エラー表示されたサイトでなく、
別のサイト、SOYCMS3.20.2、PhP8.2.28、sqlite、Xサーバー環境では
運用中ページが2つ目のサイトIDで表示ができました。
ページのTOPは二つ目のIDを含んだhttps://domain.com/website2/のアドレス。
ところが、エラー表示が出た環境では、なぜかURLのところがルート設定したコピー前のURLとなって
サイトIDが含まれていません。
https://domain.com/のような感じで表示されてしまいます。
この点も、エラー内容が影響しているのか?
それとも別に問題があるのか?
合わせてお教え頂きたくどうぞよろしくお願いいたします。
質問の「また、一旦運用中サイト構成をコピーして、その後ページデザインなどを変更したい」
という内容ですが、
---------------------------
1.一旦新しいサイトを作成
2.運用中のサイトIDから「.db」のsqlite.dbをコピーして新しいサイト.dbのsqlite.dbを上書き
3.フロントコントローラーの再設定とキャッシュの削除
4.「files」のコピー
5.必要に応じてcssやjs、imageファイルをコピー
6.お問い合わせは新しいデザイン用にテンプレートを作成して設定を変更
-------------を行ったところ、
エラー表示されたサイトでなく、
別のサイト、SOYCMS3.20.2、PhP8.2.28、sqlite、Xサーバー環境では
運用中ページが2つ目のサイトIDで表示ができました。
ページのTOPは二つ目のIDを含んだhttps://domain.com/website2/のアドレス。
ところが、エラー表示が出た環境では、なぜかURLのところがルート設定したコピー前のURLとなって
サイトIDが含まれていません。
https://domain.com/のような感じで表示されてしまいます。
この点も、エラー内容が影響しているのか?
それとも別に問題があるのか?
合わせてお教え頂きたくどうぞよろしくお願いいたします。
投稿者:齋藤毅
投稿日時:2025-10-22 04:49:36
エラーに関しましては、修正が難しい箇所なので、こちらで対応する必要があります。
本日中に対応します。
本日中に対応します。
投稿者:齋藤毅
投稿日時:2025-10-22 04:53:19
2つ目の内容ですが、エラーの内容が関係している可能性があります。この点も、エラー内容が影響しているのか? それとも別に問題があるのか?
こちらのエラーメッセージが気になりまして、何か必須の値が消えている可能性があります。Deprecated:strlen(): Passing null to parameter #1($string) of type string is deprecated in / home/userID/domain.com/public_html/soycms/common/logic/site/Page/CreatePageLogic.class.php on line 56
本日中にエラーを確認して修正しますので、その修正が終わりましたらご連絡します。
投稿者:齋藤毅
投稿日時:2025-10-22 09:25:54
同様に以下の部分のサイトIDを2つ目のIDに書き換え するだけで大丈夫でしょうか。
define("_SITE_DSN_","sqlite:/ドキュメントルート/サイトID/.db/sqlite.db");
上記の内容ですが、サイトのコピーの場合は、サイトIDを変更するだけで良かったはずです。
こちらの件ですが、エラーメッセージの内容を確認しましたところ、関係有りませんでした。2つ目の内容ですが、エラーの内容が関係している可能性があります。
投稿者:齋藤毅
投稿日時:2025-10-22 09:28:36
上記の件ですが、ところが、エラー表示が出た環境では、なぜかURLのところがルート設定したコピー前のURLとなって サイトIDが含まれていません。 https://domain.com/のような感じで表示されてしまいます。
の操作の際に新しいサイトのsqlite.dbに変更権限がなく、古いサイトからのコピーに失敗したということが考えられます。2.運用中のサイトIDから「.db」のsqlite.dbをコピーして新しいサイト.dbのsqlite.dbを上書き
投稿者:kamo
投稿日時:2025-10-22 14:38:33
ご回答ありがとうございます、kamoです。
2つ目のサイトIDがURLに反映されない件については
再度、やってみました。
今度はFTPソフトを変更し、コピー元の「sqlite.db」は一旦プラグインでバックアップしてダウンロードしたファイルを
FTPでアップ後、元々のsqlite.dbをリネイムしてから、ダウンロードした「sqlite.db-20251022-133811」を
sqlite.dbにファイル名を変更、パーミッションは604から644に変更。
キャッシュのクリアやフロントコントローラーの再設定も行いましたが・・・
結果は同じで、サイトIDの部分はなおりませんでした。
とりあえず、管理画面でのリンクではうまく行かないので、
一旦各ページテンプレートの変更をしてから、ブラウザ側でページごとにサイトIDをURLに手打ちで入力することで
新しいページは見えるので、全ページのテンプレート変更作業をすることにしました。
この件については、サイトにオリジナルプラグインもあるため、
サイト固有の問題かもしれませんので、後でご相談させてください。
2つ目のサイトIDがURLに反映されない件については
上記の件ですが、 2.運用中のサイトIDから「.db」のsqlite.dbをコピーして新しいサイト.dbのsqlite.dbを上書き の操作の際に新しいサイトのsqlite.dbに変更権限がなく、古いサイトからのコピーに失敗したということが考えられます。
再度、やってみました。
今度はFTPソフトを変更し、コピー元の「sqlite.db」は一旦プラグインでバックアップしてダウンロードしたファイルを
FTPでアップ後、元々のsqlite.dbをリネイムしてから、ダウンロードした「sqlite.db-20251022-133811」を
sqlite.dbにファイル名を変更、パーミッションは604から644に変更。
キャッシュのクリアやフロントコントローラーの再設定も行いましたが・・・
結果は同じで、サイトIDの部分はなおりませんでした。
とりあえず、管理画面でのリンクではうまく行かないので、
一旦各ページテンプレートの変更をしてから、ブラウザ側でページごとにサイトIDをURLに手打ちで入力することで
新しいページは見えるので、全ページのテンプレート変更作業をすることにしました。
この件については、サイトにオリジナルプラグインもあるため、
サイト固有の問題かもしれませんので、後でご相談させてください。