昨天在 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 的世界!

体验 PHP under .NET Core的更多相关文章

  1. dotnet core开发体验之开始MVC

    开始 在上一篇文章:dotnet core多平台开发体验 ,体验了一把dotnet core 之后,现在想对之前做的例子进行改造,想看看加上mvc框架是一种什么样的体验,于是我就要开始诞生今天的这篇文 ...

  2. dotnet core多平台开发体验

    前言 随着net core rc2的发布,园子里面关于net core的入门文章也也多了起来,但是大多数都是在一个平台上面来写几个简单的例子,或者是在解释代码本身,并没有体现说在一个平台上面创建一个项 ...

  3. .NET Core多平台开发体验[1]: Windows

    微软在千禧年推出 .NET战略,并在两年后推出第一个版本的.NET Framework和IDE(Visual Studio.NET 2002,后来改名为Visual Studio),如果你是一个资深的 ...

  4. .NET Core多平台开发体验[2]: Mac OS X

    除了微软自家的Windows平台, .NET Core针对Mac OS以及各种Linux(RHEL.Ubuntu.Debian.Fedora.CentOS和SUSE等)都提供了很好的支持,我们先来体验 ...

  5. .NET Core多平台开发体验[4]: Docker

    对于一个 .NET开发人员,你可能没有使用过Docker,但是你不可能没有听说过Docker.Docker是Github上最受欢迎的开源项目之一,它号称要成为所有云应用的基石,并把互联网升级到下一代. ...

  6. .NET Core多平台开发体验[3]: Linux (Windows Linux子系统)

    如果想体验Linux环境下开发和运行.NET Core应用,我们有多种选择.一种就是在一台物理机上安装原生的Linux,我们可以根据自身的喜好选择某种Linux Distribution,目前来说像R ...

  7. [ASP.NET Core 3框架揭秘] 跨平台开发体验: Windows [上篇]

    微软在千禧年推出 .NET战略,并在两年后推出第一个版本的.NET Framework和IDE(Visual Studio.NET 2002,后来改名为Visual Studio),如果你是一个资深的 ...

  8. [ASP.NET Core 3框架揭秘] 跨平台开发体验: Docker

    对于一个 .NET Core开发人员,你可能没有使用过Docker,但是你不可能没有听说过Docker.Docker是Github上最受欢迎的开源项目之一,它号称要成为所有云应用的基石,并把互联网升级 ...

  9. [ASP.NET Core 3框架揭秘] 跨平台开发体验: Linux

    如果想体验Linux环境下开发.NET Core应用,我们有多种选择.一种就是在一台物理机上安装原生的Linux,我们可以根据自身的喜好选择某种Linux Distribution,目前来说像RHEL ...

随机推荐

  1. 微信公众号基础02_获取accessToken和用户信息

    上一篇分享了搭建微信公众号server,本文分享一下假设获取access_Token和用户信息.工具还是新浪云SAE 1.获取access_Token 相见开发文档:https://mp.weixin ...

  2. google guice @inject comments

    refer this document: http://blog.chinaunix.net/uid-20749563-id-718418.html @Inject注入方式,用@Inject来标识那个 ...

  3. mysql函数和操作符

    mysql,); //取模函数 +-----------+ ,) | +-----------+ | +-----------+ row in set (0.00 sec) mysql,); +--- ...

  4. StyleCop 代码走错 去掉 修改csproj文件

    <Import Project="..\packages\StyleCop.MSBuild.4.7.55.0\build\StyleCop.MSBuild.Targets" ...

  5. 转: 如何使用jstack分析线程状态

    这个讲的好系列:  如何使用jstack分析线程状态 转:http://www.jianshu.com/p/6690f7e92f27 背景 记得前段时间,同事说他们测试环境的服务器cpu使用率一直处于 ...

  6. 2.4 Apache Axis2 快速学习手册之XMLBeans 构建Web Service

    4. 使用XMLBeans生成服务(通过xml bean 命令将wsdl 文件生成java 代码) 要使用XMLBeans生成服务,请执行以下步骤. 通过在Axis2_HOME / samples / ...

  7. 苹果App Store审核指南中文翻译(更新至140227)

    前言 感谢您付出宝贵的才华与时间来开发iOS应用程程序.从职业与报酬的角度而言,这对于成千上万的开发员来说一直都是一项值得投入的事业,我们希望帮助您加入这个成功的组织.我们发布了<App Sto ...

  8. 如何解决:对应的服务器 tls 为 tls 1.0,小程序要求的TLS版本必须大于等于1.2问题

    微信小程序 TLS 版本必须大于等于1.2问题解决 此问题最近在微信小程序开发中,比较常见. 在解决这个问题之前,我们需要了解一下,当前的系统环境是否支持TLS1.2以上,可以参考一下表格: 请先确认 ...

  9. [DIOCP视频]-DIOCPFileServer视频

    本次视频简单讲解了DiocpFileServer + 客户端使用接口方式,通信方面可以方便的在DiocpBlockTcpClient和IdTcpClient组件之间切换. + 添加单独的EXE客户端( ...

  10. Spring Mvc 入门Demo

    1.web.xml配置 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns=" ...