Mouth Gun Lab

  • Archive
  • RSS

PHP CLI interactive mode with readline doesn’t work under FreeBSD.

從 PHP 5.1 開始,在 php-cli 中提供了一個 php -a 的 interactive mode,當沒有 readline 的時候,php -a 就只是一個直譯器,你必須輸入完全的 syntax(<?php ...)。

當編入 readline 的時候,php -a 就是跟 ruby 的 irb 一樣強大的 interacitve shell。

你將會看到如下的使用法:

php> echo 'hi';
hi
php>  

和大部份其它 package system 一樣,FreeBSD ports 是把 php5-readline 另外編成一個 dynamic module。

但是奇怪的是,一但編成 dynamic module 了以後,php -a 不會用 readline 模式執行。

這在 FreeBSD PR 裡面去年中就有人丟了(still open):
ports/134880: lang/php5 - PHP CLI interactive mode misbehaviour with readline module。
而且這看起來也不像是個新問題,從這裡的最下面有人提到,2006 年的事了…。

目前的解法就是直接在 php5 的 makefile 將 --with-readline=/usr 寫在裡面。是不是因為很少人把 php 用 cli 來跑,所以就沒人鳥它了呀?

    • #FreeBSD
    • #issue
    • #ports
    • #php
    • #cli
    • #readline
    • #bug
  • 1 year ago
  • 1
  • Permalink
  • Share
    Tweet

1 Notes/ Hide

  1. herberrt1 liked this
  2. wamgl posted this
← Previous • Next →

About

WanCW & Adios' Mouth Gun Lab
  • RSS
  • Random
  • Archive
  • Mobile

Effector Theme by Carlo Franco.

Powered by Tumblr