1

ReadMeに従って、GraphAware の Neo4j PHP クライアントの最低限の実装をセットアップしようとしています。私はPHP 7.0.8-0ubuntu0.16.04.2(cli)(NTS)に取り組んでいます

sudoこれを機能させるには、Composer 自体から出される警告に対して、Composer で使用する必要があることがわかりました。


次のようにComposerをインストールしました(手順

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === 'e115a8dc7871f15d853148a7fbac7da27d6c0030b848d9b3dc09e2a0388afed865e6a3d6b3c0fad45c48e2b5fc1196ae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
sudo php composer-setup.php

これにより、次の成功の発表が行われました。

Composer successfully installed to: /home/blackslate/composer.phar

次に、ここで説明するように、グローバルに使用できるように Composer を移動しました。

sudo mv /home/blackslate/composer.phar /usr/local/bin/composer

次に、最新の neo4j-php-client をインストールしました。

sudo apt-get install php-bcmath
sudo composer require graphaware/neo4j-bolt
composer require graphaware/neo4j-php-client:^4.0

インストールと基本的な使用方法の説明には、上記の最初の 2 つの手順は含まれていませんが、最後のコマンドはそれらがないと失敗します。

2 行目は、Composer を root として実行しないようにという警告を示していましたが、実行しなかった場合、次のエラーが発生しました。

Installation failed, reverting ./composer.json to its original content.


[ErrorException]                                                             
file_put_contents(/home/blackslate/vendor/composer/installed.json): failed   
to open stream: Permission denied   

これにより、ホーム ディレクトリに vendor という名前のディレクトリがインストールされました。プロジェクトディレクトリに移動しました。


最後に、プロジェクト フォルダーに、次のスクリプトを使用して index.php という名前のファイルを作成しました。

<?php

require_once 'vendor/autoload.php';

use GraphAware\Neo4j\Client\ClientBuilder;

$client = ClientBuilder::create()
    ->addConnection('default', 'http://neo4j:password@localhost:7474') // Example for HTTP connection configuration (port is optional)
    ->addConnection('bolt', 'bolt://neo4j:password@localhost:7687') // Example for BOLT connection configuration (port is optional)
    ->build();

次の構造のディレクトリがあります。

index.php            // as shown above
vendor/              // the directory installed by Composer
       autoload.php
       composer/
       graphaware/
       guzzlehttp/
       myclabs/
       psr/
       symfony/

すべてが期待どおりに機能しているようです。

sudo私の質問は、 Composerを使用せずにこれを達成する方法はありますか?

4

1 に答える 1

1

実際、sudo は使用しないでください。次に、ホーム ディレクトリだけでなく、プロジェクト フォルダーにクライアントを要求する必要があります。

クライアント自体の暗黙的な依存関係であるため、ボルトを要求する必要はありません。

bcmath 拡張機能については、README にインストールが必須の拡張機能として記載されています。

于 2016-09-30T21:47:41.820 に答える