Laravelが動く環境を構築します。
Contents
Composerのインストール
phpのパッケージ管理依存ツールcomposerを入れます。
https://getcomposer.org/download/
よりComposer-Setup.exeをダウンロードします。1.8.6を選びました。
Composer-Setup.exeを起動し「next」で進みます。
php.exeが入っている所(c:\php)へインストールします。
php.iniにゴミが残っていたようです。エラーが出ました。php.iniの該当行をコメントにしたら通りました。
1 2 3 4 5 6 7 8 9 10 |
The PHP exe file you specified did not run correctly: C:\php\php.exe The php.ini used by your command-line PHP is: C:\php\php.ini A setting in your php.ini could be causing the problem: Either the 'extension_dir' value is incorrect or the dll does not exist. Program Output: PHP Warning: PHP Startup: Unable to load dynamic library 'php_sqlsrv_72_ts_x64.dll' (tried: C:\php\ext\php_sqlsrv_72_ts_x64.dll (指定されたモジュールが見つかりません。), C:\php\ext\php_php_sqlsrv_72_ts_x64.dll.dll (指定されたモジュールが見つかりません。)) in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'php_pdo_sqlsrv_72_ts_x64.dll' (tried: C:\php\ext\php_pdo_sqlsrv_72_ts_x64.dll (指定されたモジュールが見つかりません。), C:\php\ext\php_php_pdo_sqlsrv_72_ts_x64.dll.dll (指定されたモジュールが見つかりません。)) in Unknown on line 0 |
インストールが終わったら、コマンドプロンプトよりcomposerと入力して次の様な画面を確認します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
Microsoft Windows [Version 10.0.17134.858] (c) 2018 Microsoft Corporation. All rights reserved. C:\abc>composer ______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ Composer version 1.8.6 2019-06-11 15:03:05 Usage: command [options] [arguments] Options: -h, --help Display this help message -q, --quiet Do not output any message -V, --version Display this application version --ansi Force ANSI output --no-ansi Disable ANSI output -n, --no-interaction Do not ask any interactive question --profile Display timing and memory usage information --no-plugins Whether to disable plugins. -d, --working-dir=WORKING-DIR If specified, use the given directory as working directory. -v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug Available commands: about Shows the short information about Composer. archive Creates an archive of this composer package. browse Opens the package's repository URL or homepage in your browser. check-platform-reqs Check that platform requirements are satisfied. clear-cache Clears composer's internal package cache. clearcache Clears composer's internal package cache. config Sets config options. create-project Creates new project from a package into given directory. depends Shows which packages cause the given package to be installed. diagnose Diagnoses the system to identify common errors. dump-autoload Dumps the autoloader. dumpautoload Dumps the autoloader. exec Executes a vendored binary/script. global Allows running commands in the global composer dir ($COMPOSER_HOME). help Displays help for a command home Opens the package's repository URL or homepage in your browser. i Installs the project dependencies from the composer.lock file if present, or falls back on the composer.json. info Shows information about packages. init Creates a basic composer.json file in current directory. install Installs the project dependencies from the composer.lock file if present, or falls back on the composer.json. licenses Shows information about licenses of dependencies. list Lists commands outdated Shows a list of installed packages that have updates available, including their latest version. prohibits Shows which packages prevent the given package from being installed. remove Removes a package from the require or require-dev. require Adds required packages to your composer.json and installs them. run-script Runs the scripts defined in composer.json. search Searches for packages. self-update Updates composer.phar to the latest version. selfupdate Updates composer.phar to the latest version. show Shows information about packages. status Shows a list of locally modified packages, for packages installed from source. suggests Shows package suggestions. u Upgrades your dependencies to the latest version according to composer.json, and updates the composer.lock file. update Upgrades your dependencies to the latest version according to composer.json, and updates the composer.lock file. upgrade Upgrades your dependencies to the latest version according to composer.json, and updates the composer.lock file. validate Validates a composer.json and composer.lock. why Shows which packages cause the given package to be installed. why-not Shows which packages prevent the given package from being installed. C:\abc> |
Laravelプロジェクトの作成と確認
作成
コマンドプロンプト開きをドキュメントルートに移動します。
composer create-project –prefer-dist laravel/laravel laravel
最後のlaravelはプロジェクト名です。
Laravelプロジェクトが作成されます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 |
Microsoft Windows [Version 10.0.17134.858] (c) 2018 Microsoft Corporation. All rights reserved. C:\>cd C:\var\www\vred C:\var\www\vred>composer create-project --prefer-dist laravel/laravel laravel Installing laravel/laravel (v5.8.17) - Installing laravel/laravel (v5.8.17): Downloading (100%) Created project in laravel > @php -r "file_exists('.env') || copy('.env.example', '.env');" Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 80 installs, 0 updates, 0 removals - Installing symfony/polyfill-ctype (v1.11.0): Downloading (100%) - Installing phpoption/phpoption (1.5.0): Downloading (100%) - Installing vlucas/phpdotenv (v3.4.0): Downloading (100%) - Installing symfony/css-selector (v4.3.1): Downloading (100%) - Installing tijsverkoyen/css-to-inline-styles (2.2.1): Loading from cache - Installing symfony/polyfill-php72 (v1.11.0): Downloading (100%) - Installing symfony/polyfill-mbstring (v1.11.0): Downloading (100%) - Installing symfony/var-dumper (v4.3.1): Downloading (100%) - Installing symfony/routing (v4.3.1): Downloading (100%) - Installing symfony/process (v4.3.1): Downloading (100%) - Installing psr/log (1.1.0): Downloading (100%) - Installing symfony/polyfill-php73 (v1.11.0): Downloading (100%) - Installing symfony/debug (v4.3.1): Downloading (100%) - Installing symfony/polyfill-intl-idn (v1.11.0): Downloading (100%) - Installing symfony/mime (v4.3.1): Downloading (100%) - Installing symfony/http-foundation (v4.3.1): Downloading (100%) - Installing symfony/event-dispatcher-contracts (v1.1.5): Downloading (100%) - Installing psr/container (1.0.0): Loading from cache - Installing symfony/event-dispatcher (v4.3.1): Downloading (100%) - Installing symfony/http-kernel (v4.3.1): Downloading (100%) - Installing symfony/finder (v4.3.1): Downloading (100%) - Installing symfony/service-contracts (v1.1.5): Downloading (100%) - Installing symfony/console (v4.3.1): Downloading (100%) - Installing symfony/polyfill-iconv (v1.11.0): Downloading (100%) - Installing doctrine/lexer (1.0.2): Downloading (100%) - Installing egulias/email-validator (2.1.9): Downloading (100%) - Installing swiftmailer/swiftmailer (v6.2.1): Downloading (100%) - Installing paragonie/random_compat (v9.99.99): Loading from cache - Installing ramsey/uuid (3.8.0): Loading from cache - Installing psr/simple-cache (1.0.1): Loading from cache - Installing opis/closure (3.3.0): Downloading (100%) - Installing symfony/translation-contracts (v1.1.5): Downloading (100%) - Installing symfony/translation (v4.3.1): Downloading (100%) - Installing nesbot/carbon (2.20.0): Downloading (100%) - Installing monolog/monolog (1.24.0): Downloading (100%) - Installing league/flysystem (1.0.46): Loading from cache - Installing erusev/parsedown (1.7.3): Downloading (100%) - Installing dragonmantank/cron-expression (v2.3.0): Downloading (100%) - Installing nikic/php-parser (v4.2.2): Downloading (100%) - Installing doctrine/inflector (v1.3.0): Loading from cache - Installing laravel/framework (v5.8.26): Downloading (100%) - Installing fideloper/proxy (4.1.0): Downloading (100%) - Installing beyondcode/laravel-dump-server (1.2.2): Loading from cache - Installing jakub-onderka/php-console-color (v0.2): Loading from cache - Installing jakub-onderka/php-console-highlighter (v0.4): Downloading (100%) - Installing dnoegel/php-xdg-base-dir (0.1): Loading from cache - Installing psy/psysh (v0.9.9): Loading from cache - Installing laravel/tinker (v1.0.8): Loading from cache - Installing fzaninotto/faker (v1.8.0): Loading from cache - Installing hamcrest/hamcrest-php (v2.0.0): Loading from cache - Installing mockery/mockery (1.2.2): Downloading (100%) - Installing filp/whoops (2.4.0): Downloading (100%) - Installing nunomaduro/collision (v3.0.1): Downloading (100%) - Installing sebastian/version (2.0.1): Loading from cache - Installing sebastian/resource-operations (2.0.1): Loading from cache - Installing sebastian/object-reflector (1.1.1): Loading from cache - Installing sebastian/recursion-context (3.0.0): Loading from cache - Installing sebastian/object-enumerator (3.0.3): Loading from cache - Installing sebastian/global-state (2.0.0): Loading from cache - Installing sebastian/exporter (3.1.0): Loading from cache - Installing sebastian/environment (4.2.2): Downloading (100%) - Installing sebastian/diff (3.0.2): Downloading (100%) - Installing sebastian/comparator (3.0.2): Loading from cache - Installing phpunit/php-timer (2.1.2): Downloading (100%) - Installing phpunit/php-text-template (1.2.1): Loading from cache - Installing phpunit/php-file-iterator (2.0.2): Loading from cache - Installing theseer/tokenizer (1.1.3): Downloading (100%) - Installing sebastian/code-unit-reverse-lookup (1.0.1): Loading from cache - Installing phpunit/php-token-stream (3.0.1): Downloading (100%) - Installing phpunit/php-code-coverage (6.1.4): Downloading (100%) - Installing doctrine/instantiator (1.2.0): Downloading (100%) - Installing webmozart/assert (1.4.0): Downloading (100%) - Installing phpdocumentor/reflection-common (1.0.1): Loading from cache - Installing phpdocumentor/type-resolver (0.4.0): Loading from cache - Installing phpdocumentor/reflection-docblock (4.3.1): Downloading (100%) - Installing phpspec/prophecy (1.8.1): Downloading (100%) - Installing phar-io/version (2.0.1): Loading from cache - Installing phar-io/manifest (1.0.3): Loading from cache - Installing myclabs/deep-copy (1.9.1): Downloading (100%) - Installing phpunit/phpunit (7.5.13): Downloading (100%) symfony/var-dumper suggests installing ext-intl (To show region name in time zone dump) symfony/routing suggests installing symfony/config (For using the all-in-one router or any loader) symfony/routing suggests installing symfony/yaml (For using the YAML loader) symfony/routing suggests installing symfony/expression-language (For using expression matching) symfony/routing suggests installing doctrine/annotations (For using the annotation loader) symfony/polyfill-intl-idn suggests installing ext-intl (For best performance) symfony/event-dispatcher-contracts suggests installing psr/event-dispatcher symfony/event-dispatcher suggests installing symfony/dependency-injection symfony/http-kernel suggests installing symfony/browser-kit symfony/http-kernel suggests installing symfony/config symfony/http-kernel suggests installing symfony/dependency-injection symfony/service-contracts suggests installing symfony/service-implementation symfony/console suggests installing symfony/lock egulias/email-validator suggests installing ext-intl (PHP Internationalization Libraries are required to use the SpoofChecking validation) swiftmailer/swiftmailer suggests installing ext-intl (Needed to support internationalized email addresses) swiftmailer/swiftmailer suggests installing true/punycode (Needed to support internationalized email addresses, if ext-intl is not installed) paragonie/random_compat suggests installing ext-libsodium (Provides a modern crypto API that can be used to generate random bytes.) ramsey/uuid suggests installing ircmaxell/random-lib (Provides RandomLib for use with the RandomLibAdapter) ramsey/uuid suggests installing ext-libsodium (Provides the PECL libsodium extension for use with the SodiumRandomGenerator) ramsey/uuid suggests installing ext-uuid (Provides the PECL UUID extension for use with the PeclUuidTimeGenerator and PeclUuidRandomGenerator) ramsey/uuid suggests installing moontoast/math (Provides support for converting UUID to 128-bit integer (in string form).) ramsey/uuid suggests installing ramsey/uuid-doctrine (Allows the use of Ramsey\Uuid\Uuid as Doctrine field type.) ramsey/uuid suggests installing ramsey/uuid-console (A console application for generating UUIDs with ramsey/uuid) symfony/translation suggests installing symfony/config symfony/translation suggests installing symfony/yaml monolog/monolog suggests installing graylog2/gelf-php (Allow sending log messages to a GrayLog2 server) monolog/monolog suggests installing sentry/sentry (Allow sending log messages to a Sentry server) monolog/monolog suggests installing doctrine/couchdb (Allow sending log messages to a CouchDB server) monolog/monolog suggests installing ruflin/elastica (Allow sending log messages to an Elastic Search server) monolog/monolog suggests installing php-amqplib/php-amqplib (Allow sending log messages to an AMQP server using php-amqplib) monolog/monolog suggests installing ext-amqp (Allow sending log messages to an AMQP server (1.0+ required)) monolog/monolog suggests installing ext-mongo (Allow sending log messages to a MongoDB server) monolog/monolog suggests installing mongodb/mongodb (Allow sending log messages to a MongoDB server via PHP Driver) monolog/monolog suggests installing aws/aws-sdk-php (Allow sending log messages to AWS services like DynamoDB) monolog/monolog suggests installing rollbar/rollbar (Allow sending log messages to Rollbar) monolog/monolog suggests installing php-console/php-console (Allow sending log messages to Google Chrome) league/flysystem suggests installing ext-fileinfo (Required for MimeType) league/flysystem suggests installing league/flysystem-eventable-filesystem (Allows you to use EventableFilesystem) league/flysystem suggests installing league/flysystem-rackspace (Allows you to use Rackspace Cloud Files) league/flysystem suggests installing league/flysystem-azure (Allows you to use Windows Azure Blob storage) league/flysystem suggests installing league/flysystem-webdav (Allows you to use WebDAV storage) league/flysystem suggests installing league/flysystem-aws-s3-v2 (Allows you to use S3 storage with AWS SDK v2) league/flysystem suggests installing league/flysystem-aws-s3-v3 (Allows you to use S3 storage with AWS SDK v3) league/flysystem suggests installing spatie/flysystem-dropbox (Allows you to use Dropbox storage) league/flysystem suggests installing srmklive/flysystem-dropbox-v2 (Allows you to use Dropbox storage for PHP 5 applications) league/flysystem suggests installing league/flysystem-cached-adapter (Flysystem adapter decorator for metadata caching) league/flysystem suggests installing ext-ftp (Allows you to use FTP server storage) league/flysystem suggests installing league/flysystem-sftp (Allows you to use SFTP server storage via phpseclib) league/flysystem suggests installing league/flysystem-ziparchive (Allows you to use ZipArchive adapter) laravel/framework suggests installing ext-pcntl (Required to use all features of the queue worker.) laravel/framework suggests installing ext-posix (Required to use all features of the queue worker.) laravel/framework suggests installing aws/aws-sdk-php (Required to use the SQS queue driver and SES mail driver (^3.0).) laravel/framework suggests installing doctrine/dbal (Required to rename columns and drop SQLite columns (^2.6).) laravel/framework suggests installing guzzlehttp/guzzle (Required to use the Mailgun and Mandrill mail drivers and the ping methods on schedules (^6.0).) laravel/framework suggests installing league/flysystem-aws-s3-v3 (Required to use the Flysystem S3 driver (^1.0).) laravel/framework suggests installing league/flysystem-cached-adapter (Required to use the Flysystem cache (^1.0).) laravel/framework suggests installing league/flysystem-rackspace (Required to use the Flysystem Rackspace driver (^1.0).) laravel/framework suggests installing league/flysystem-sftp (Required to use the Flysystem SFTP driver (^1.0).) laravel/framework suggests installing moontoast/math (Required to use ordered UUIDs (^1.1).) laravel/framework suggests installing nexmo/client (Required to use the Nexmo transport (^1.0).) laravel/framework suggests installing pda/pheanstalk (Required to use the beanstalk queue driver (^4.0).) laravel/framework suggests installing predis/predis (Required to use the redis cache and queue drivers (^1.0).) laravel/framework suggests installing pusher/pusher-php-server (Required to use the Pusher broadcast driver (^3.0).) laravel/framework suggests installing symfony/dom-crawler (Required to use most of the crawler integration testing tools (^4.2).) laravel/framework suggests installing symfony/psr-http-message-bridge (Required to use PSR-7 bridging features (^1.1).) laravel/framework suggests installing wildbit/swiftmailer-postmark (Required to use Postmark mail driver (^3.0).) psy/psysh suggests installing ext-pcntl (Enabling the PCNTL extension makes PsySH a lot happier :)) psy/psysh suggests installing ext-posix (If you have PCNTL, you'll want the POSIX extension as well.) psy/psysh suggests installing ext-pdo-sqlite (The doc command requires SQLite to work.) psy/psysh suggests installing hoa/console (A pure PHP readline implementation. You'll want this if your PHP install doesn't already support readline or libedit.) filp/whoops suggests installing whoops/soap (Formats errors as SOAP responses) sebastian/global-state suggests installing ext-uopz (*) sebastian/environment suggests installing ext-posix (*) phpunit/php-code-coverage suggests installing ext-xdebug (^2.6.0) phpunit/phpunit suggests installing phpunit/php-invoker (^2.0) phpunit/phpunit suggests installing ext-soap (*) phpunit/phpunit suggests installing ext-xdebug (*) Writing lock file Generating optimized autoload files > Illuminate\Foundation\ComposerScripts::postAutoloadDump > @php artisan package:discover --ansi Discovered Package: beyondcode/laravel-dump-server Discovered Package: fideloper/proxy Discovered Package: laravel/tinker Discovered Package: nesbot/carbon Discovered Package: nunomaduro/collision Package manifest generated successfully. > @php artisan key:generate --ansi Application key set successfully. C:\var\www\vred>php artisan -V Could not open input file: artisan C:\var\www\vred>cd la* C:\var\www\vred\laravel>php artisan -V Laravel Framework 5.8.26 C:\var\www\vred\laravel> C:\var\www\vred\laravel> |
確認
http://ドメイン/laravel/public/にアクセスすると初期画面が表示されました。
ドキュメントルートをpublicに作り直せばhttp://ドメイン/でこの画面を出す事ができると思います。
DB接続
php.info
DB接続の為に、php.iniを変更します。
php.iniの最後の方に付け加えます。(mySQL用とSqlserver用の例です)
1 2 3 4 5 6 7 |
;↓2行はmySQL用 extension=php_mysqli.dll extension=php_pdo_mysql.dll ;↓2行はSqlserver用 2019-07-01 最新版 extension=php_sqlsrv_73_ts_x64.dll extension=php_pdo_sqlsrv_73_ts_x64.dll |
database.php
(プロジェクト名)/config内のdatabase.phpの一行をDBに合わせて変更します。デフォルトはMySQLです。
1 |
'default' => env('DB_CONNECTION', 'mysql'), |
Sqlserver->’sqlsrv’となります。
.env
1 2 3 4 5 6 |
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=sample DB_USERNAME=root DB_PASSWORD=p@ssw0rd |
接続するDB, ユーザID,パスワード情報を設定します。