PHP Interactive Mode, phpsh

David Allen the.real.david.allen at
Fri Jan 6 12:47:41 UTC 2012

The Gods seem to be conspiring against me.  I'm flummoxed as to why I
can't get php running in interactive mode (php -a).  Some relevant info:

    php5-5.3.8          PHP Scripting Language
    php5-extensions-1.5 A "meta-port" to install PHP extensions
    php5-readline-5.3.8 The readline shared extension for php
    python27-2.7.2_2    An interpreted object-oriented programming language

I tried doing an endrun around the problem by installing python in
conjunction with the /devel/phpsh port.  That hasn't quite worked out

Testing the installation of phpsh on a local build server:

    $ phpsh
    Starting php
    Install pcntl to enable forking on every command.
    type 'h' or 'help' to see instructions & features
    php> echo "Hello world\n";
    Hello world

    php> d array_merge

    Traceback (most recent call last):
    File "/usr/local/bin/phpsh", line 127, in <module>
        t_c_ret = s.try_command(line)
    File "/usr/local/lib/python2.7/site-packages/phpsh/", line
909, in try_command
        import manual
    File "/usr/local/lib/python2.7/site-packages/phpsh/", line 4,
in <module>
        from sqlite3 import dbapi2 as sqlite
    File "/usr/local/lib/python2.7/sqlite3/", line 24, in
        from dbapi2 import *
    File "/usr/local/lib/python2.7/sqlite3/", line 27, in <module>
        from _sqlite3 import *
    ImportError: No module named _sqlite3

    [ At this point phpsh exits ]

Building a phpsh package fails:

    ===>  Building package for phpsh-20110513
    tar: etc/phpsh/config.sample: Cannot stat: No such file or directory
    tar: etc/phpsh/php_manual.db: Cannot stat: No such file or directory
    tar: etc/phpsh/rc.php: Cannot stat: No such file or directory
    tar: Error exit delayed from previous errors.
    pkg_create: make_dist: tar command failed with code 256
    *** Error code 1

    Stop in /usr/ports/devel/phpsh.
    *** Error code 1

    Stop in /usr/ports/devel/phpsh.

Running 'pkg_info -L' reveals the missing files being installed into
/usr/local/etc/phpsh, but no such directory (or files) exists.

And just for fun, the results after installing phpsh on Mac OS X (where
php interactive mode doesn't work either):

    Warning: require_once(/opt/local/etc/phpsh/rc.php): failed to open
    stream: No such file or directory in


    on line 49

    Fatal error: require_once(): Failed opening required
    '/opt/local/etc/phpsh/rc.php' (include_path='.:') in


    on line 49

Could someone shed some light as to why php interactive mode doesn't work
with FreeBSD?  Or alternatively, how to fix my phpsh installation and get
a package made?


More information about the freebsd-ports mailing list