<blockquote>我最近被強烈安利了 Jupyter Notebook 這個交互式筆記本。而後試用了它自帶的 Python 內核後,這個應用總體給個人感受很不錯,就去搜索了下它所支持的其它內核 <a href="https://github.com/jupyter/jupyter/wiki/Jupyter-kernels" rel="nofollow noreferrer">Jupyter Kernels</a>。我在下面內容介紹下該應用下如何安裝 PHP 內核。</blockquote> <h3>安裝步驟</h3> <p>安裝 PHP 內核 <a href="https://litipk.github.io/Jupyter-PHP-Installer/" rel="nofollow noreferrer">Jupyter-PHP</a></p> <h4>環境要求</h4> <ol> <li>PHP >= 7.0</li> <li>已安裝 Jupyter Notebook</li> <li>Mac 上操做</li> </ol> <h4>步驟</h4> <ol> <li> <p>全局安裝 Composer</p>php
$ curl -sS https://getcomposer.org/installer | php $ mv composer.phar /usr/local/bin/composer
</li> <li> <p>安裝 PHP-ZMQ 擴展</p> <p>(1) 下載編譯</p>git
$ git clone git://github.com/mkoppanen/php-zmq.git $ cd php-zmq $ phpize && ./configure $ make && make install
<p>(2)修改配置</p>github
修改 php.ini 配置,添加 `extension=/path/modules/zmq.so`
</li> <li>下載 <a href="https://litipk.github.io/Jupyter-PHP-Installer/dist/jupyter-php-installer.phar" rel="nofollow noreferrer">jupyter-php-installer.phar</a> </li> <li>執行 phar 安裝程序<p>$ php jupyter-php-installer.phar install</p> </li> <li>安裝成功,顯示 <code>The Jupyter-PHP kernel has been successfully installed.</code> </li> </ol> <h3>遇到並解決的問題</h3> <h4>問題 1:</h4> <p>編譯 PHP-ZMQ 無 autoconf 和 pkg-config</p> <h4>解決:</h4>segmentfault
$ brew install autoconf $ brew install pkg-config
<h4>問題 2:</h4> <p>Mac 上無 php.ini</p> <h4>解決:</h4>composer
$ sudo cp /etc/php.ini.default /etc/php.ini
<h4>問題 3:</h4> <p>編譯的擴展 zmq.so 沒法移動到 PHP 默認擴展路徑 <code>/usr/lib/php/extensions/no-debug-non-zts-20160303/</code></p> <h4>解決:</h4> <p>由於 macOS 系統完整性保護(SIP)將阻止你將 zmq.so 移動到默認路徑下,而我又不想關閉SIP。因此處理辦法是引入擴展寫入絕對路徑</p>curl
extension=/path/modules/zmq.so
<h4>問題 4:</h4> <p>使用 PHP 內核 並 print 打印出現了雙輸出</p> <h4>解決:</h4> <p>實際是由於它將打印的值和返回值無差異的輸出致使的,而做者暫未解決。查看 <a href="https://github.com/Litipk/Jupyter-PHP/issues/17#issuecomment-299244012" rel="nofollow noreferrer">issues</a></p>url
原文地址:http://www.javashuo.com/article/p-zstdjhxb-hq.htmldebug