Jupyter Notebook 下安裝 PHP 核心

Cindy發表於2018-08-22

我最近被強烈安利了 Jupyter Notebook 這個互動式筆記本。然後試用了它自帶的 Python 核心後,這個應用整體給我的感覺很不錯,就去搜尋了下它所支援的其它核心 Jupyter Kernels。我在下面內容介紹下該應用下如何安裝 PHP 核心。

安裝步驟

安裝 PHP 核心 Jupyter-PHP

環境要求

  1. PHP >= 7.0
  2. 已安裝 Jupyter Notebook
  3. Mac 上操作

步驟

  1. 全域性安裝 Composer

    $ curl -sS https://getcomposer.org/installer | php
    $ mv composer.phar /usr/local/bin/composer
    
  2. 安裝 PHP-ZMQ 擴充套件

    (1) 下載編譯

    $ git clone git://github.com/mkoppanen/php-zmq.git
    
    $ cd php-zmq
    
    $ phpize && ./configure
    
    $ make && make install
    

    (2)修改配置

    修改 php.ini 配置,新增 `extension=/path/modules/zmq.so`
    
  3. 下載 jupyter-php-installer.phar
  4. 執行 phar 安裝程式

    $ php jupyter-php-installer.phar install

  5. 安裝成功,顯示 The Jupyter-PHP kernel has been successfully installed.

遇到並解決的問題

問題 1:

編譯 PHP-ZMQ 無 autoconf 和 pkg-config

解決:

    $ brew install autoconf
    $ brew install pkg-config

問題 2:

Mac 上無 php.ini

解決:

    $ sudo cp /etc/php.ini.default /etc/php.ini
    

問題 3:

編譯的擴充套件 zmq.so 無法移動到 PHP 預設擴充套件路徑 /usr/lib/php/extensions/no-debug-non-zts-20160303/

解決:

因為 macOS 系統完整性保護(SIP)將阻止你將 zmq.so 移動到預設路徑下,而我又不想關閉SIP。所以處理辦法是引入擴充套件寫入絕對路徑

        
        extension=/path/modules/zmq.so

問題 4:

使用 PHP 核心 並 print 列印出現了雙輸出

解決:

實際是因為它將列印的值和返回值無差別的輸出導致的,而作者暫未解決。檢視 issues

相關文章