# PHPのフレームワークLaravelでAlgoliaを使うための環境構築 その1

先日行われたLive Coding Session - Advanced Search with Laravel and Algolia by Nuno Maduroがなかなか良かったので、自分の方でも少し試してみたいと思います。

# Laravelの環境設定

恐らく今使っている会社のMacbookでPHPを扱ったことはないはずなので、Macのデフォルトな状態なのかな、と思います。いきなり何かのLibraryがないとか言われてますが…w

$ php -version
dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.64.dylib
  Referenced from: /usr/local/opt/php@7.2/bin/php
  Reason: image not found
Abort trap: 6

とりあえずLaravelのInstallドキュメントをみながらやっていきます。

とは言え、composerは動かなかったのでHomebrewでやっていきます。

なぜかcomposerは既に入ってたみたいなので、、

Error: composer 1.8.6 is already installed

とりあえず最新版にしてみました。

$ brew upgrade composer
Updating Homebrew...
==> Upgrading 1 outdated package:
composer 1.8.6 -> 1.10.8
==> Upgrading composer 1.8.6 -> 1.10.8 
==> Downloading https://getcomposer.org/download/1.10.8/composer.phar
Already downloaded: /Users/eiji.shinohara/Library/Caches/Homebrew/downloads/db1f3f0aa3fea6c501eac44f0597caa565633541c22259b4fa2d00ba9daa1ebc--composer.phar
🍺  /usr/local/Cellar/composer/1.10.8: 3 files, 1.9MB, built in 2 seconds
Removing: /usr/local/Cellar/composer/1.8.6... (3 files, 1.8MB)

ついでにbrewでPHPも入れていきます。って、なんかPHPも既に入ってたみたい…w

Error: php 7.3.6_1 is already installed

ということで、こちらもアップデートをしたのですが、なんかバージョン下がってないっすかね、、、?まぁイイかな、と。。

$ php -version
PHP 7.2.32 (cli) (built: Jul 10 2020 00:06:00) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.32, Copyright (c) 1999-2018, by Zend Technologies

そういえば、なんかボケットみてたら👇こんなの出てきたけど、何か依存してるのかな?w

==> Upgrading aws/tap/aws-sam-cli 0.17.0 -> 0.53.0

composerで無事Laravel入った予感です。

$ composer global require laravel/installer
Changed current directory to /Users/eiji.shinohara/.composer
Using version ^3.2 for laravel/installer
〜略〜
Generating autoload files
11 packages you are using are looking for funding.
Use the `composer fund` command to find out more!

んでもって、コマンドのパスを通してあげて、、

export PATH=$PATH:$HOME/.composer/vendor/bin

プロジェクト作ろうと思ったら、PHPのバージョン低い的な…?

The Laravel installer requires PHP 7.3.0 or greater. 

ってことで、

$ brew install php@7.3

ってか、パスが古かったりとか、phpをrestartしたりしなきゃとか、なんか色々アレだったっぽいけど…w

$ brew services restart php
Stopping `php`... (might take a while)
==> Successfully stopped `php` (label: homebrew.mxcl.php)
==> Successfully started `php` (label: homebrew.mxcl.php)

$ php -v
PHP 7.3.20 (cli) (built: Jul  9 2020 23:50:54) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.20, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.3.20, Copyright (c) 1999-2018, by Zend Technologies

で、laravel newで新しいプロジェクトを改めて作ろうとしたら、、やっぱりだめかと。。

In CurlFactory.php line 207:
cURL error 52: Empty reply from server (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) 

ってことでcomposerのcreate-projectだと依存ライブラリとかやりくりしてくれるらしいので👇こんな感じで。

$ composer create-project --prefer-dist laravel/laravel shop

なんか凄い時間かかったけど、プロジェクト自体は出来た模様。

$ ls -l
total 512
-rw-r--r--   1 eiji.shinohara  staff    4465 May 19 06:50 README.md
drwxr-xr-x   7 eiji.shinohara  staff     224 May 19 06:50 app
-rwxr-xr-x   1 eiji.shinohara  staff    1686 May 19 06:50 artisan
drwxr-xr-x   4 eiji.shinohara  staff     128 May 19 06:50 bootstrap
-rw-r--r--   1 eiji.shinohara  staff    1586 May 19 06:50 composer.json
-rw-r--r--   1 eiji.shinohara  staff  227900 Jul 11 21:02 composer.lock
drwxr-xr-x  16 eiji.shinohara  staff     512 May 19 06:50 config
drwxr-xr-x   6 eiji.shinohara  staff     192 May 19 06:50 database
-rw-r--r--   1 eiji.shinohara  staff    1034 May 19 06:50 package.json
-rw-r--r--   1 eiji.shinohara  staff    1197 May 19 06:50 phpunit.xml
drwxr-xr-x   7 eiji.shinohara  staff     224 May 19 06:50 public
drwxr-xr-x   6 eiji.shinohara  staff     192 May 19 06:50 resources
drwxr-xr-x   6 eiji.shinohara  staff     192 May 19 06:50 routes
-rw-r--r--   1 eiji.shinohara  staff     563 May 19 06:50 server.php
drwxr-xr-x   5 eiji.shinohara  staff     160 May 19 06:50 storage
drwxr-xr-x   6 eiji.shinohara  staff     192 May 19 06:50 tests
drwxr-xr-x  45 eiji.shinohara  staff    1440 Jul 11 21:02 vendor
-rw-r--r--   1 eiji.shinohara  staff     538 May 19 06:50 webpack.mix.js

# サーバーを起動してみる

8000番ポートで起動するらしい。

$ php artisan serve
Laravel development server started: http://127.0.0.1:8000

👇こんな感じになりました。

laravel

# ということで、、

次回はAlgoliaに連携するところをLaravel Scoutでやっていきたいと思います。

このエントリーをはてなブックマークに追加

Algolia検索からの流入のみConversionボタン表示