PHP7.4.3上のSOY CMSでエラー

バグかなと思ったらこちらへ。

PHP7.4.3上のSOY CMSでエラー

投稿記事by polka on 2020年4月25日(土) 13:05

いつもありがとうございます。

PHP7.4.3上のSOY CMS(p256)で次のエラーがでます。

<b>Deprecated</b>: Unparenthesized `a ? b : c ? d : e` is deprecated. Use either `(a ? b : c) ? d : e` or `a ? b : (c ? d : e)` in <b>/SOY CMS格納フォルダ/common/site_include/plugin/soycms_search_block/util/PluginBlockUtil.class.php</b> on line <b>18</b><br />


以上、よろしくお願い致します。
polka
 
記事: 262
登録日時: 2013年5月20日(月) 08:15
所在地: 大阪府泉大津市二田町1-20-30-2F

Re: PHP7.4.3上のSOY CMSでエラー

投稿記事by inunosinsi on 2020年4月26日(日) 05:10

お伝えいただきましたエラーはこちらでは発生しないので、PHPの設定によるものだと思いますが、

エラーで該当するファイルの行の
コード: 全て選択
$pathInfo = (isset($_SERVER["PATH_INFO"])) ? $_SERVER["PATH_INFO"] : (isset($_SERVER["REQUEST_URI"])) ? $_SERVER["REQUEST_URI"] : null;

このコードを

コード: 全て選択
$pathInfo = (isset($_SERVER["PATH_INFO"])) ? $_SERVER["PATH_INFO"] : null;
if(is_null($pathInfo)) $pathInfo = (isset($_SERVER["REQUEST_URI"])) ? $_SERVER["REQUEST_URI"] : null;

このように変更してみると如何でしょうか?
大阪でフリーのプログラマをしています。
以前はSOY CMSの開発元で働いていました。

SOY ShopのプラグインやSOY Appの開発のサポートをしています。
http://saitodev.co/soycms(SOY CMSのマニュアルを作成しています)
開発実績等

最近はSOY Shopを業務アプリとして使用できないか?と模索しています。
SOY Shopで管理画面のみ使用モードを追加しました - saitodev.co

株式会社京都農販(SOY Shopのサイト)
株式会社コトブキ園(SOY Shop)
inunosinsi
 
記事: 912
登録日時: 2008年6月12日(木) 20:48

Re: PHP7.4.3上のSOY CMSでエラー

投稿記事by polka on 2020年4月26日(日) 10:45

いつもお世話になっております。

ご教示の内容を試してみましたところ、次のエラーがでました。

<b>Deprecated</b>: Unparenthesized `a ? b : c ? d : e` is deprecated. Use either `(a ? b : c) ? d : e` or `a ? b : (c ? d : e)` in <b>/SOY CMS格納フォルダ/app/webapp/inquiry/page.php</b> on line <b>474</b><br />

ちなみにですが、
サーバーはXserverでして、利用推奨は7.3.14となっているので、
お客様サイトでは7.4.3は使わないようにして、自サイトで様子をみているところです。
(7.3.14では、エラーは出ていません)
polka
 
記事: 262
登録日時: 2013年5月20日(月) 08:15
所在地: 大阪府泉大津市二田町1-20-30-2F

Re: PHP7.4.3上のSOY CMSでエラー

投稿記事by inunosinsi on 2020年4月26日(日) 13:10

どうやら1つ目の方は解決できたみたいですね。

2つ目の方のエラーですが、該当する個所のコードを

コード: 全て選択
$userMailAddress[] = (isset($value[0])) ? $value[0] : (isset($value[1])) ? $value[1] : null;

から
コード: 全て選択
$userMailAddr = (isset($value[0])) ? $value[0] : null;
if(is_null($userMailAddr)) $userMailAddr = (isset($value[1])) ? $value[1] : null;
if(isset($userMailAddr)) $userMailAddress[] = $userMailAddr;

に変更すればおそらくいけるはずです。
大阪でフリーのプログラマをしています。
以前はSOY CMSの開発元で働いていました。

SOY ShopのプラグインやSOY Appの開発のサポートをしています。
http://saitodev.co/soycms(SOY CMSのマニュアルを作成しています)
開発実績等

最近はSOY Shopを業務アプリとして使用できないか?と模索しています。
SOY Shopで管理画面のみ使用モードを追加しました - saitodev.co

株式会社京都農販(SOY Shopのサイト)
株式会社コトブキ園(SOY Shop)
inunosinsi
 
記事: 912
登録日時: 2008年6月12日(木) 20:48

Re: PHP7.4.3上のSOY CMSでエラー

投稿記事by polka on 2020年4月26日(日) 15:51

2つめのエラーも解消しました!
ありがとうございます!


続けますが、SOY Shopでのエラーです。
テスト用にインストールしたばかりのSOY Shopを使ってます。(p308)

カテゴリページで次のエラーがでます。

Deprecated: implode(): Passing glue string after array is deprecated. Swap the parameters in /SOY CMS格納フォルダ/soyshop/webapp/src/base/site/SOYShopPageBase.class.php on line 259

Deprecated: implode(): Passing glue string after array is deprecated. Swap the parameters in /SOY CMS格納フォルダ/soyshop/webapp/src/base/site/SOYShopPageBase.class.php on line 259

(同じエラーが2行くりかえされています)
polka
 
記事: 262
登録日時: 2013年5月20日(月) 08:15
所在地: 大阪府泉大津市二田町1-20-30-2F

Re: PHP7.4.3上のSOY CMSでエラー

投稿記事by inunosinsi on 2020年4月27日(月) 05:38

どういう条件で該当するファイルの259行目が読み込まれるか?がわかりませんでしたので、
該当箇所の
コード: 全て選択
$url .= "/" . implode($this->getArguments(), "/");


コード: 全て選択
$url .= "/" . implode("/", $this->getArguments());

上記のようにimplode内の記述を逆にして、再読込を試して頂けないでしょうか。

implodeの使い方が逆でした。
大阪でフリーのプログラマをしています。
以前はSOY CMSの開発元で働いていました。

SOY ShopのプラグインやSOY Appの開発のサポートをしています。
http://saitodev.co/soycms(SOY CMSのマニュアルを作成しています)
開発実績等

最近はSOY Shopを業務アプリとして使用できないか?と模索しています。
SOY Shopで管理画面のみ使用モードを追加しました - saitodev.co

株式会社京都農販(SOY Shopのサイト)
株式会社コトブキ園(SOY Shop)
inunosinsi
 
記事: 912
登録日時: 2008年6月12日(木) 20:48

Re: PHP7.4.3上のSOY CMSでエラー

投稿記事by polka on 2020年4月27日(月) 08:41

SOY Shopもエラーがでなくなりました。ありがとうございます!

また、他でエラーがでましたらお知らせさせていただきます。
polka
 
記事: 262
登録日時: 2013年5月20日(月) 08:15
所在地: 大阪府泉大津市二田町1-20-30-2F


Return to バグ報告

オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[4人]