文章出處

昨天在 The week in .NET 中發現 Scott Hanselman 的這篇博文 Peachpie - Open Source PHP Compiler to .NET and WordPress under ASP.NET Core,知道了 Peachpie PHP 編譯器加入了 .NET 基金會,借助 Peachpie ,.NET Core 已經支持 PHP 。

今天在 Linux 上實際體驗一下 PHP under .NET Core 。

首先用 dotnet 命令安裝一下 Peachpie 模板

# dotnet new -i Peachpie.Templates::*
  Restoring packages for /root/.templateengine/dotnetcli/v2.0.0-preview2-006497/scratch/restore.csproj...
  Installing Peachpie.Templates 0.7.0.
  Generating MSBuild file /root/.templateengine/dotnetcli/v2.0.0-preview2-006497/scratch/obj/restore.csproj.nuget.g.props.
  Generating MSBuild file /root/.templateengine/dotnetcli/v2.0.0-preview2-006497/scratch/obj/restore.csproj.nuget.g.targets.
  Restore completed in 4.42 sec for /root/.templateengine/dotnetcli/v2.0.0-preview2-006497/scratch/restore.csproj.

然后用 Peachpie 模板創建一個 php 控制臺項目

# dotnet new peachpie-console -n hello-world
The template "Peachpie console application" was created successfully.

接著看一下控制臺項目包含的文件

# ls
hello-world.msbuildproj  program.php  README.md

發現新面孔 program.php ,看看其中的 php 代碼

<?php
function main()
{
    echo "Hello .NET World!";    
}
main();

原味正宗的 php 代碼。

為了更好地在終端中顯示,給顯示字符串加個換行

<?php
function main()
{
    echo "Hello .NET World!\n";    
}
main();

好了,.net core 下的 php 控制臺程序準備就緒,用 dotnet run 命令運行一下試試

# dotnet run
Hello .NET World!

運行成功!

再接著創建一個 php web 項目試試

# dotnet new peachpie-web -n HelloPhp
The template "Peachpie web application" was created successfully.

看看生成的解決方案的文件

# tree
.
├── HelloPhp
│   ├── HelloPhp.msbuildproj
│   └── index.php
├── HelloPhp.Server
│   ├── HelloPhp.Server.csproj
│   └── Program.cs
├── HelloPhp.sln
└── README.md

進入 HelloPhp/HelloPhp.Server 目錄運行 dotnet run 命令 運行 php web 項目

# dotnet run
Hosting environment: Production
Content root path: /home/root/HelloPhp/HelloPhp.Server/bin/Debug/netcoreapp1.1
Now listening on: http://*:5004
Application started. Press Ctrl+C to shut down.

成功運行!用 curl 命令訪問測試一下

# curl http://localhost:5004
Hello World!

成功顯示"Hello World!"。 

歡迎 PHP 來到 .NET 的世界!


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()