ECshop 迁移到 PHP7版本时遇到的兼容性问题,ecshopphp7_PHP教程
ECshop 迁移到 PHP7版本时遇到的兼容性问题,ecshopphp7
在 PHP7 上安装 ECShop V2.7.3时,报错!
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; ECS has a deprecated constructor in /usr/local/nginx/html/ecshop/upload/includes/cls_ecshop.php on line 25
这个报错的原因是 PHP7 不再支持与类名相同的构造方法,构造方法统一使用 __construct(), 比如下面的写法 PHP7 就会报这个错误。
<?php class foo { function foo() { echo 'I am the constructor'; } } ?>
回到 ecshop 我们看一下 cls_ecshop.php 文件的25行。如下
果然有与类名相同的构造方法,我们将构造方法 ECS 修改为 __construct,
回到 ecshop 的安装首页刷新,发现已经没有错误了。
单击下一步,报错
Deprecated: Non-static method cls_image::gd_version() should not be called statically in /usr/local/nginx/html/ecshop/upload/install/includes/lib_installer.php on line 31
这个报错的原因是静态调用非静态方法,比如下面的代码就会报这个错误
<?php class foo { function bar() { echo 'I am not static!'; } } foo::bar(); ?>
修改方法也很简单,要么将该方法改为静态方法,要么将该调用改为非静态调用。 我们看一下报错的文件 lib_installer.php 的 31行代码
还有cls image类文件的 gd version() 方法,可以看到的确没有使用 static关键字
第一种修改方式,将该方法修改为静态方法,在方法前加关键字 public static
第二种修改方式,采用非静态方式的调用,修改lib_installer.php 的 31行代码
这两种方法都可以解决问题。 回到ecshop的安装步骤第二页,错误提示已经不见了。
再下一步悲剧了,PHP7 不支持原始的 mysql api 了,PHP7 支持更好的 Mysqli API 和 pdo_mysql api 所以 ecshop 不改掉操作 mysql 的 api 是无法在 PHP7 上运行起来了。
OneAPM for PHP 能够深入到所有 PHP 应用内部完成应用性能管理 能够深入到所有 PHP 应用内部完成应用性能管理和监控,包括代码级别性能问题的可见性、性能瓶颈的快速识别与追溯、真实用户体验监控、服务器监控和端到端的应用性能管理。
以上所述给大家分享了ECshop 迁移到 PHP7版本时遇到的兼容性问题,希望对大家有所帮助。
您可能感兴趣的文章:
- PHP扩展迁移为PHP7扩展兼容性问题记录

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

1.在舊裝置上開啟微信app,點選右下角的【我】,選擇【設定】功能,點選【聊天】。 2.選擇【聊天記錄遷移與備份】,點選【遷移】,選擇要遷移設備的平台。 3.點選【擇需要遷移的聊天】,點選左下角的【全選】或自主選擇聊天記錄。 4.選擇完畢後,點選右下角的【開始】,使用新裝置登入此微信帳號。 5.然後掃描該二維碼即可開始遷移聊天記錄,用戶只需等待遷移完成即可。

如何在GitLab中進行專案遷移和整合引言:在軟體開發過程中,專案的遷移和整合是一項重要的任務。 GitLab作為一個流行的程式碼託管平台,提供了一系列方便的工具和功能來支援專案遷移和整合。本文將介紹在GitLab中進行專案遷移和整合的具體步驟,並提供一些程式碼範例來幫助讀者更好地理解。一、專案遷移專案遷移是將已有的程式碼庫從一個原始碼管理系統遷移到GitLab上

很多用戶都會遇到在操作電腦的時候卡頓或者是藍屏,這個時候我們就需要找一個最為穩定的win10版本來進行操作,整體都是非常的好用的,可以讓你日常使用更為流暢。史上最穩定的win10版本1、win10正版原廠系統在這裡用戶可以使用簡單的操作,系統經過優化,具有很強的穩定性、安全性、兼容性,用戶可以按照步驟實現完美機器2、俄羅斯大神精簡版win10經過嚴格的精簡操作,刪除了許多不必要的功能和服務。精簡後,系統的CPU和記憶體佔用率更低,運作速度更快。 3.win10精簡版1909安裝多台不同硬體型號的電腦

解決 PHP 7.0 中插件未顯示已安裝問題的方法:檢查插件配置並啟用插件。重新啟動 PHP 以套用配置變更。檢查插件檔案權限,確保其正確。安裝遺失的依賴項,以確保插件正常運作。如果其他步驟都失敗,則重建 PHP。其他可能原因包括外掛程式版本不相容、載入錯誤版本或 PHP 配置問題。

將遺留C++應用程式遷移至雲端的最佳方法:重新平台化:將應用程式程式碼遷移至雲端原生平台(如Kubernetes),利用雲端服務。雲端化:在雲端平台上部署應用程式並利用雲端服務,無需進行程式碼重構。

1.在舊裝置上,依序點選「我」→「設定」→「聊天」→「聊天記錄遷移與備份」→「遷移」。 2.選擇要遷移的目標平台設備,選擇需要遷移的聊天記錄,點選「開始」。 3.在新裝置上使用同一微信帳號登入並掃描二維碼,即可開啟聊天記錄遷移。

PHP伺服器環境常見的解決方法包括:確保已安裝正確的PHP版本和已複製相關檔案到模組目錄。暫時或永久停用SELinux。檢查並配置PHP.ini,確保已新增必要的擴充功能和進行正確設定。啟動或重新啟動PHP-FPM服務。檢查DNS設定是否有解析問題。

透過在舊裝置上開啟微信、選擇「聊天記錄遷移與備份」並依照指示操作,使用者可以將聊天記錄移轉到新裝置。遷移過程包括選擇需要遷移的聊天、掃描二維碼並等待遷移完成。
