昨天在 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 代码
<?phpfunction main() { echo "Hello .NET World!"; } main();
原味正宗的 php 代码。
为了更好地在终端中显示,给显示字符串加个换行
<?phpfunction 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 的世界!
原文地址:http://www.cnblogs.com/dudu/p/7296415.html
.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注