SOYCMSサーバー移行時のエラー 投稿する
投稿者:kaiya
投稿日時:2024-11-20 01:16:14
サーバーを Xサーバーの古いサーバーから最新スペックのサーバーに移行しようとしていますが
以降前のサーバーでは、エラーなく公開されているページが、移行後のサーバーでは警告がでて表示されません
そして管理画面ではデータベースの更新画面がでます。更新しますがエラーは消えません
公開側のエラー
Fatal error: Uncaught SOY2DAOException: Invalid query. in /ルートフォルダ/common/lib/soy2_build.min.php:1742 Stack trace: #0 /home/kaiya/donguri.link/public_html/english/.cache/dao_cache_SiteConfigDAOImpl_f5c7338a9cf79f050a636ef8c0dfe7b1.class.php(79): SOY2DAO->executeQuery(Object(SOY2DAO_Query), Array) #1 /ルートフォルダ/common/site_include/func/common.php(32): SiteConfigDAOImpl->get() #2 /ルートフォルダ/common/site_include/CMSPageController.class.php(20): soycms_get_site_config_object() #3 /ルートフォルダ/common/lib/soy2_build.min.php(236): CMSPageController->execute() #4 /ルートフォルダ/common/site_include/SOYCMSOutputContents.class.php(64): SOY2PageController::run() #5 /ルートフォルダ/common/site_include/SOYCMSOutputContents.class.php(110): SOYCMSOutputContents::execute_normal() #6 /ルートフォルダ/common/site.func.php(42): SOYCMSOutputContents->execute() #7 /home/kaiya/donguri.link/public_html/english/index.php(12): execute_site() #8 {main} thrown in /ルートフォルダ/common/lib/soy2_build.min.php on line 1742
管理画面のエラー 致命的なエラー
SOY CMS Options
SOYCMS_ALLOWED_EXTENSIONS: php,doc,xls,pdf
SOYCMS_ALLOW_PHP_SCRIPT: 1
SOYCMS_SKIP_MOBILE_RESIZE:
SOYCMS_BLOCK_LIST: EntryBlockComponent
LabeledBlockComponent
MultiLabelBlockComponent
SiteLabeledBlockComponent
PluginBlockComponent
SOYCMS_TARGET_DIRECTORY: /home/kaiya/donguri.link/public_html/
SOYCMS_TARGET_URL: undefined
SOYCMS_ADMIN_ROOT: undefined
SOY CMS Version: 3.18.4
SOY CMS Build Date: 2024-11-15T15:24:49+09:00
SOY CMS DB Type: sqlite
SOY2RootDir: /ルートフォルダ/common/
SOY2_DOCUMENT_ROOT: undefined
STACK TRACE
-----------------------
0:SOY2DAO->executeQuery
argument[0]: SOY2DAO_Query ["select "id","uri","title","template","isTrash","page_type","page_config","openPeriodStart","openPeriodEnd","isPublished","udate","parent_page_id","icon" from "Page" where page_type 300"]
argument[1]: array (
)
ルートフォルダ/soycms/cache/3.18.4_dao_cache_PageDAOImpl_468bd7819755ed5ca2c08317b1d76026.class.php(279)
-----------------------
1:PageDAOImpl->getPagesWithoutErrorPage
ルートフォルダ/common/action/site/Init/InitDetectAction.class.php(7)
-----------------------
2:InitDetectAction->execute
argument[0]: SOY2ActionRequest [\SOY2ActionRequest::__set_state(array(
'_hash' =>
array (
),
'_method' =>'GET',
))]
argument[1]: SOY2ActionForm [""]
argument[2]: SOY2ActionResponse [\SOY2ActionResponse::__set_state(array(
'_header' =>
array (
),
))]
ルートフォルダ/common/lib/soy2_build.min.php(506)
-----------------------
3:SOY2Action->executeImpl
argument[0]: SOY2ActionRequest [\SOY2ActionRequest::__set_state(array(
'_hash' =>
array (
),
'_method' =>'GET',
))]
argument[1]: SOY2ActionForm [""]
argument[2]: SOY2ActionResponse [\SOY2ActionResponse::__set_state(array(
'_header' =>
array (
),
))]
ルートフォルダ/common/lib/soy2_build.min.php(551)
-----------------------
4:SOY2Action->run
ルートフォルダ/common/base/CMSWebPageBase.class.php(47)
Server Environment
PHP Version: 8.2.22
以降前のサーバーでは、エラーなく公開されているページが、移行後のサーバーでは警告がでて表示されません
そして管理画面ではデータベースの更新画面がでます。更新しますがエラーは消えません
公開側のエラー
Fatal error: Uncaught SOY2DAOException: Invalid query. in /ルートフォルダ/common/lib/soy2_build.min.php:1742 Stack trace: #0 /home/kaiya/donguri.link/public_html/english/.cache/dao_cache_SiteConfigDAOImpl_f5c7338a9cf79f050a636ef8c0dfe7b1.class.php(79): SOY2DAO->executeQuery(Object(SOY2DAO_Query), Array) #1 /ルートフォルダ/common/site_include/func/common.php(32): SiteConfigDAOImpl->get() #2 /ルートフォルダ/common/site_include/CMSPageController.class.php(20): soycms_get_site_config_object() #3 /ルートフォルダ/common/lib/soy2_build.min.php(236): CMSPageController->execute() #4 /ルートフォルダ/common/site_include/SOYCMSOutputContents.class.php(64): SOY2PageController::run() #5 /ルートフォルダ/common/site_include/SOYCMSOutputContents.class.php(110): SOYCMSOutputContents::execute_normal() #6 /ルートフォルダ/common/site.func.php(42): SOYCMSOutputContents->execute() #7 /home/kaiya/donguri.link/public_html/english/index.php(12): execute_site() #8 {main} thrown in /ルートフォルダ/common/lib/soy2_build.min.php on line 1742
管理画面のエラー 致命的なエラー
SOY CMS Options
SOYCMS_ALLOWED_EXTENSIONS: php,doc,xls,pdf
SOYCMS_ALLOW_PHP_SCRIPT: 1
SOYCMS_SKIP_MOBILE_RESIZE:
SOYCMS_BLOCK_LIST: EntryBlockComponent
LabeledBlockComponent
MultiLabelBlockComponent
SiteLabeledBlockComponent
PluginBlockComponent
SOYCMS_TARGET_DIRECTORY: /home/kaiya/donguri.link/public_html/
SOYCMS_TARGET_URL: undefined
SOYCMS_ADMIN_ROOT: undefined
SOY CMS Version: 3.18.4
SOY CMS Build Date: 2024-11-15T15:24:49+09:00
SOY CMS DB Type: sqlite
SOY2RootDir: /ルートフォルダ/common/
SOY2_DOCUMENT_ROOT: undefined
STACK TRACE
-----------------------
0:SOY2DAO->executeQuery
argument[0]: SOY2DAO_Query ["select "id","uri","title","template","isTrash","page_type","page_config","openPeriodStart","openPeriodEnd","isPublished","udate","parent_page_id","icon" from "Page" where page_type 300"]
argument[1]: array (
)
ルートフォルダ/soycms/cache/3.18.4_dao_cache_PageDAOImpl_468bd7819755ed5ca2c08317b1d76026.class.php(279)
-----------------------
1:PageDAOImpl->getPagesWithoutErrorPage
ルートフォルダ/common/action/site/Init/InitDetectAction.class.php(7)
-----------------------
2:InitDetectAction->execute
argument[0]: SOY2ActionRequest [\SOY2ActionRequest::__set_state(array(
'_hash' =>
array (
),
'_method' =>'GET',
))]
argument[1]: SOY2ActionForm [""]
argument[2]: SOY2ActionResponse [\SOY2ActionResponse::__set_state(array(
'_header' =>
array (
),
))]
ルートフォルダ/common/lib/soy2_build.min.php(506)
-----------------------
3:SOY2Action->executeImpl
argument[0]: SOY2ActionRequest [\SOY2ActionRequest::__set_state(array(
'_hash' =>
array (
),
'_method' =>'GET',
))]
argument[1]: SOY2ActionForm [""]
argument[2]: SOY2ActionResponse [\SOY2ActionResponse::__set_state(array(
'_header' =>
array (
),
))]
ルートフォルダ/common/lib/soy2_build.min.php(551)
-----------------------
4:SOY2Action->run
ルートフォルダ/common/base/CMSWebPageBase.class.php(47)
Server Environment
PHP Version: 8.2.22
投稿者:齋藤毅
投稿日時:2024-11-20 06:10:59
の79行目付近にあります/CMSインストールディレクトリ/common/domain/cms/PageDAO.class.php
/**
* @return object
* @query ##pageType## = :pageType
*/
abstract function getErrorPage($pageType = Page::PAGE_TYPE_ERROR);
を
/**
* @return object
* @query page_type = :pageType
*/
abstract function getErrorPage(int $pageType=Page::PAGE_TYPE_ERROR);
に変更したら如何でしょうか?
投稿者:kaiya
投稿日時:2024-11-20 07:52:38
/** * @return object * @query page_type = :pageType */ abstract function getErrorPage(int $pageType=Page::PAGE_TYPE_ERROR); に変更したら如何でしょうか?
上記に変更したのですが、変化なしでした。
あと管理画面内で新サーバー側では 下記ページになり データベース一括アップロード画面になります
一括アップロード→正しく完了しました と表示されますが、下記のURLが何回もでてアップロードを求められ続けます
/admin/index.php/Site/Upgrade
その画面内のエラーコードは下記です
Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /ルート/admin/webapp/pages/Site/Upgrade/IndexPage.class.php on line 62
投稿者:齋藤毅
投稿日時:2024-11-20 09:14:38
先に上記の件ですが、Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /ルート/admin/webapp/pages/Site/Upgrade/IndexPage.class.php on line 62
の59行目の/ルート/admin/webapp/pages/Site/Upgrade/IndexPage.class.php
$host = $array["host"];
を
$host = (isset($array["host"])) ? (string)$array["host"] : "";
に変更してください。
投稿者:齋藤毅
投稿日時:2024-11-20 09:16:45
引っ越しの方のエラーですが、
のファイルがあれば、メール等でこちらのファイルを送付してください。/home/kaiya/donguri.link/public_html/english/.cache/dao_cache_SiteConfigDAOImpl_f5c7338a9cf79f050a636ef8c0dfe7b1.class.php
投稿者:齋藤毅
投稿日時:2024-11-20 09:59:19
ファイルの送付をありがとうございます。
ファイルを確認しましたところ、先程対応して頂きました
先程コードを変更して頂いた際、エラーメッセージが変わっている可能性がありますので、もう一度エラーメッセージを投稿をお願いします。
ファイルを確認しましたところ、先程対応して頂きました
の箇所である可能性が高いです。/** * @return object * @query page_type = :pageType */ abstract function getErrorPage(int $pageType=Page::PAGE_TYPE_ERROR); に変更したら如何でしょうか?
先程コードを変更して頂いた際、エラーメッセージが変わっている可能性がありますので、もう一度エラーメッセージを投稿をお願いします。
投稿者:齋藤毅
投稿日時:2024-11-20 10:05:11
ですが、55行目付近にあります/CMSインストールディレクトリ/common/domain/cms/PageDAO.class.php
/**
* @index id
* @query ##pageType## = :pageType
* @order id
*/
abstract function getByPageType($pageType);
/**
* @return column_page_count
* @columns count(id) as page_count
* @query ##pageType## = :pageType
*/
abstract function countByPageType($pageType);
を
/**
* @index id
* @query page_type = :pageType
* @order id
*/
abstract function getByPageType(int $pageType);
/**
* @return column_page_count
* @columns count(id) as page_count
* @query page_type = :pageType
*/
abstract function countByPageType(int $pageType);
に変更したら如何でしょうか?
投稿者:齋藤毅
投稿日時:2024-11-20 10:12:49
改めてコードを確認してみましたが、キャッシュが古い可能性があります。
をFTPクライアント経由でファイルを直接削除してみてください。/home/kaiya/donguri.link/public_html/english/.cache/dao_cache_SiteConfigDAOImpl_f5c7338a9cf79f050a636ef8c0dfe7b1.class.php
投稿者:kaiya
投稿日時:2024-11-20 10:20:06
/common/domain/cms/PageDAO.class.phpを変更して
キャッシュを消したのですが・・変わりませんね。。
エラーメッセージも同じのようです。
他のキャッシュは消したらマズイでしょうか??
キャッシュを消したのですが・・変わりませんね。。
エラーメッセージも同じのようです。
他のキャッシュは消したらマズイでしょうか??
投稿者:齋藤毅
投稿日時:2024-11-20 10:30:29
エラーメッセージが同じかどうかは詳細を確認してみないとわかりません。
今回のエラーはStack Trace内にあります
こちらの値周辺が変更されているか確認したいです。
他のキャッシュを削除しても構いません。
今回のエラーはStack Trace内にあります
argument[0]: SOY2DAO_Query ["select "id","uri","title","template","isTrash","page_type","page_config","openPeriodStart","openPeriodEnd","isPublished","udate","parent_page_id","icon" from "Page" where page_type 300"]
の
になりまして、正しくはwhere page_type 300
でなければなりません。where page_type =300
こちらの値周辺が変更されているか確認したいです。
他のキャッシュは消したらマズイでしょうか??
他のキャッシュを削除しても構いません。