This package is built for Embedding PHP into Golang.
Go Roff Shell C
Switch branches/tags
Nothing to show
Clone or download
mikespook Merge pull request #12 from Varun-Sethu/patch-1
Added highlighting for the sample.
Latest commit 1aaf01c Aug 22, 2017


This package is built for Embedding PHP into Golang.

It is easy to use:

    script = php.New()
    defer script.Close() 
    if err := script.Eval("phpinfo();"); err != nil {
    if err := script.Exec("foobar.php"); err != nil {

For more examples, please read the souce code: php_test.go.


The first step is downloading the package. Please note that you must specify the param -d.

$ go get -d

Then, following step is running to prepar the embeded PHP library. It has one paramater with 4 values: [5.4 | 5.5 | 5.6 | ng]


./ 5.6

will wget, configure and make the file which can be used for embedding PHP.

It will be a long time waiting. When you see Congratulations!!!, it means you have already got the proper .so file placed in ./php-lib/libs/. You could check it manually.

The third step is calling go generate to prepare source files which will be built.

If generate process do not report any issue, then you could call go build to build GoEmPHP.

After that, please use ./ for testing the package. And of course, you could run go test -ldflags="-r ./php-lib/libs/" manually, or put the .so into one of system library directories and run go test. The same library mechanism should be used when you use this library in your application.


Open Source

See LICENSE for more information.