日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

用.NetCore 编译国产老牌PHP论坛DiscuzX ,世界上最好的语言从此属于.Net 的一员

發布時間:2023/12/4 php 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用.NetCore 编译国产老牌PHP论坛DiscuzX ,世界上最好的语言从此属于.Net 的一员 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

??? DiscuzX是北京康盛新創科技有限責任公司推出的一套通用的社區論壇軟件系統。自2001年6月面世以來,Discuz!已擁有15年以上的應用歷史和200多萬網站用戶案例,是全球成熟度最高、覆蓋率最大的論壇軟件系統之一。目前最新版本Discuz! X3.4正式版于2017年8月2日發布,去除了云平臺的相關代碼,是 X3.2 的穩定版本。?通過DiscuzX 用戶可以在不需要任何編程的基礎上,通過簡單的設置和安裝,在互聯網上搭建起具備完善功能、很強負載能力和可高度定制的論壇服務。Discuz! 的基礎架構采用世界上最流行的web編程組合PHP+MySQL實現,是一個經過完善設計,適用于各種服務器環境的高效論壇系統解決方案。????作為國內最大的社區軟件及服務提供商,Comsenz旗下的 Discuz! 開發組具有豐富的 web應用程序設計經驗,尤其在論壇產品及相關領域,經過長期創新性開發,掌握了一整套從算法,數據結構到產品安全性方面的領先技術。使得 Discuz! 無論在穩定性、負載能力、安全保障等方面都居于國內外同類產品領先地位!

??????? .NET Core 是一個通用的開放源代碼開發平臺。可以使用多種編程語言針對 x64、x86、ARM32 和 ARM64 處理器創建適用于 Windows、macOS 和 Linux 的 .NET Core 應用。為云、IoT、客戶端 UI 和機器學習提供了框架和 API。? 最新版是 .NET Core 3.1, .Net 5 將于2020年11月發布。?

? ? ? ??作為曾經的DiscuzX老粉絲, 要讓DiscuzX在性能上有大幅度提升, 在部署方面采用現代的部署環境, 想讓DiscuzX繼續發光發熱, peachpie編譯器絕對是不二之選。?下面開始介紹具體步驟:

??

一、安裝 PeachPie Visual Studio Extension

??插件下載地址?https://marketplace.visualstudio.com/items?itemName=iolevel.peachpie-vs

安裝后界面如下:

二、新建PeachPie項目?

由于我們的DiscuzX是一個Web項目, 因此我們創建?PeachPie ASP.Net Core Web App , 創建后?如下圖:

解決方案中包含兩個項目, Server 是 ASP.Net Core 項目,?在這里可以理解為承載PHP的宿主, Web1 則是PHP項目!

三、編譯php?

由于默認模板中的 Peachpie.NET.Sdk/1.0.0-preview1 似乎存在bug , 經過參考? https://github.com/iolevel/peachpie-samples , 我們將web1 項目 改成 Peachpie.NET.Sdk/1.0.0-preview2 ,? server項目中的Peachpie.AspNetCore.Web ?也改為 1.0.0-preview2版本!

接下來, 讓我們把?DiscuzX 的 upload文件夾中的所有文檔放在 Web1 項目中, 如圖:

然后查看項目

在這里我們遇到一個問題,?source\plugin\mobile 中引用了一個不存在的php文件, 我們直接把mobile 排除掉, 因為這個插件目前對于?DiscuzX 沒什么可用價值, 然后再編譯, 編譯結果如下:

無數警告,??沒心細看, 直接點Server的運行, 結果發現 樣式, 圖片全沒有, (敲黑板,劃重點),我們需要在?Startup 的?Configure 方法中 加入下面這行代碼

app.UseStaticFiles(new StaticFileOptions { FileProvider = new PhysicalFileProvider(Path.GetFullPath("../upload/")) });

?如圖:

四 運行

點擊運行后, 運行過程中會有多個報錯, 比如

ob_end_clean 的問題已經實現了, 只不過沒發布,?

點繼續運行就好。?

不管任何情況, 點繼續就好。?

?

現在, 我們看到了熟悉的界面, 如下圖:?

點擊同意

點擊下一步

這里記得前提是數據庫密碼和用戶名要對!

然后你會看到安裝過程一閃而過。?

那么接下來,?界面并不能顯示出來, 表并沒有創建成功,?

如圖:

總結:

DiscuzX?要想繼續在.Net Core 上使用,?并不是短短一兩個小時可以搞定的,?需要進一步調整,?一些?內容可能依然存在?peachpie沒有實現的情況, 因此如果你有興趣參與DiscuzX在.Net Core中的調試 ,可以訪問

https://gitee.com/maikebing/DiscuzX

如果你想了解更多有關php運行在.Net Core 上的內容, 可以關注 peachpie

https://github.com/peachpiecompiler/peachpie

總結

以上是生活随笔為你收集整理的用.NetCore 编译国产老牌PHP论坛DiscuzX ,世界上最好的语言从此属于.Net 的一员的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。