在 WSL2 中的 Ubuntu-20.04 中创建应用:Shopify App Template – PHP
1、参考:在 WSL2 中的 Ubuntu-20.04 中安装 Shopify CLI 3.0(基于 Node.js),提前检查相应的要求是否满足
2、创建应用,选择 PHP 模板,报错:operation not permitted, copyfile
wangqiang@DESKTOP-QLPK8QM:/mnt/e/wwwroot/shopify-app$ npm init @shopify/app@latest Need to install the following packages: @shopify/create-app@3.46.2 Ok to proceed? (y) Welcome. Let’s get started by naming your app project. You can change it later. ? Your app project name? ✔ learn-php-app-ubuntu-2004-0602 ? Which template would you like to use? ✔ php ╭─ error ──────────────────────────────────────────────────────────────────────╮ │ │ │ EPERM: operation not permitted, copyfile │ │ '/tmp/cb635eef29c31a10687f90a7693d4848/app/web/storage/logs/.gitignore' -> │ │ '/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web/storage/lo │ │ gs/.gitignore' │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ npm notice npm notice New minor version of npm available! 9.5.1 -> 9.6.7 npm notice Changelog: https://github.com/npm/cli/releases/tag/v9.6.7 npm notice Run npm install -g npm@9.6.7 to update! npm notice npm ERR! code 1 npm ERR! path /mnt/e/wwwroot/shopify-app npm ERR! command failed npm ERR! command sh -c create-app npm ERR! A complete log of this run can be found in: npm ERR! /home/wangqiang/.npm/_logs/2023-06-02T03_46_50_520Z-debug-0.log wangqiang@DESKTOP-QLPK8QM:/mnt/e/wwwroot/shopify-app$
3、在命令 npm init @shopify/app@latest 前添加 sudo,以提升权限,不再报错
wangqiang@DESKTOP-QLPK8QM:/mnt/e/wwwroot/shopify-app$ sudo npm init @shopify/app@latest Welcome. Let’s get started by naming your app project. You can change it later. ? Your app project name? ✔ learn-php-app-ubuntu-2004-0602 ? Which template would you like to use? ✔ php
4、参考:安装 PHP 、Composer
wangqiang@DESKTOP-QLPK8QM:~$ sudo apt install php Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: libfwupdplugin1 libxmlb1 Use 'sudo apt autoremove' to remove them. The following additional packages will be installed: apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php7.4 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libjansson4 liblua5.2-0 php-common php7.4 php7.4-cli php7.4-common php7.4-json php7.4-opcache php7.4-readline ssl-cert Suggested packages: apache2-doc apache2-suexec-pristine | apache2-suexec-custom php-pear openssl-blacklist The following NEW packages will be installed: apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php7.4 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 Enabling module status. Enabling module reqtimeout. Enabling conf charset. Enabling conf localized-error-pages. Enabling conf other-vhosts-access-log. Enabling conf security. Enabling conf serve-cgi-bin. Enabling site 000-default. info: Switch to mpm prefork for package libapache2-mod-php7.4 Module mpm_event disabled. Enabling module mpm_prefork. info: Executing deferred 'a2enmod php7.4' for package libapache2-mod-php7.4 Enabling module php7.4. Created symlink /etc/systemd/system/multi-user.target.wants/apache2.service → /lib/systemd/system/apache2.service. Created symlink /etc/systemd/system/multi-user.target.wants/apache-htcacheclean.service → /lib/systemd/system/apache-htcacheclean.service. invoke-rc.d: could not determine current runlevel Setting up php7.4 (7.4.3-4ubuntu2.18) ... Setting up php (2:7.4+75) ... Processing triggers for ufw (0.36-6ubuntu1) ... Processing triggers for systemd (245.4-4ubuntu3.21) ... Processing triggers for man-db (2.9.1-1) ... Processing triggers for libc-bin (2.31-0ubuntu9.9) ... /sbin/ldconfig.real: /usr/lib/wsl/lib/libcuda.so.1 is not a symbolic link Processing triggers for php7.4-cli (7.4.3-4ubuntu2.18) ... Processing triggers for libapache2-mod-php7.4 (7.4.3-4ubuntu2.18) ... wangqiang@DESKTOP-QLPK8QM:~$ sudo apt install composer Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: libfwupdplugin1 libxmlb1 Use 'sudo apt autoremove' to remove them. The following additional packages will be installed: jsonlint libonig5 php-composer-ca-bundle php-composer-semver php-composer-spdx-licenses php-composer-xdebug-handler php-json-schema php-mbstring php-psr-container php-psr-log php-symfony-console php-symfony-filesystem php-symfony-finder php-symfony-process php-symfony-service-contracts php7.4-mbstring Preparing to unpack .../16-composer_1.10.1-1_all.deb ... Unpacking composer (1.10.1-1) ... Setting up php-symfony-finder (4.3.8+dfsg-1ubuntu1) ... Setting up jsonlint (1.7.2-1) ... Setting up php-psr-container (1.0.0-2) ... Setting up php-symfony-service-contracts (1.1.8-1) ... Setting up php-composer-ca-bundle (1.2.6-1) ... Setting up php-symfony-process (4.3.8+dfsg-1ubuntu1) ... Setting up php-symfony-filesystem (4.3.8+dfsg-1ubuntu1) ... Setting up php-psr-log (1.1.2-1) ... Setting up php-composer-semver (1.5.1-1) ... Setting up php-json-schema (5.2.9-1) ... Setting up php-composer-spdx-licenses (1.5.3-1) ... Setting up libonig5:amd64 (6.9.4-1) ... Setting up php-composer-xdebug-handler (1.4.0-1) ... Setting up php7.4-mbstring (7.4.3-4ubuntu2.18) ... Creating config file /etc/php/7.4/mods-available/mbstring.ini with new version Setting up php-mbstring (2:7.4+75) ... Setting up php-symfony-console (4.3.8+dfsg-1ubuntu1) ... Setting up composer (1.10.1-1) ... Processing triggers for libc-bin (2.31-0ubuntu9.9) ... /sbin/ldconfig.real: /usr/lib/wsl/lib/libcuda.so.1 is not a symbolic link Processing triggers for man-db (2.9.1-1) ... Processing triggers for libapache2-mod-php7.4 (7.4.3-4ubuntu2.18) ... Processing triggers for php7.4-cli (7.4.3-4ubuntu2.18) ...
5、创建应用程序后,设置 Laravel 应用程序。安装依赖包。提示:建议升级至 Composer 2。先卸载掉 Composer 1,再安装 Composer 2 。参考:后续使用:php composer.phar 。
wangqiang@DESKTOP-QLPK8QM:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ composer install Loading composer repositories with package information Warning from https://repo.packagist.org: Support for Composer 1 is deprecated and some packages will not be available. You should upgrade to Composer 2. See https://blog.packagist.com/deprecating-composer-1-support/ wangqiang@DESKTOP-QLPK8QM:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ composer -V Composer 1.10.1 2020-03-13 20:34:27 wangqiang@DESKTOP-QLPK8QM:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ sudo apt-get remove composer [sudo] password for wangqiang: Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: jsonlint libfwupdplugin1 libonig5 libxmlb1 php-composer-ca-bundle php-composer-semver php-composer-spdx-licenses php-composer-xdebug-handler php-json-schema php-mbstring php-psr-container php-psr-log php-symfony-console php-symfony-filesystem php-symfony-finder php-symfony-process php-symfony-service-contracts php7.4-mbstring Use 'sudo apt autoremove' to remove them. The following packages will be REMOVED: composer 0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. After this operation, 1996 kB disk space will be freed. Do you want to continue? [Y/n] Y (Reading database ... 66661 files and directories currently installed.) Removing composer (1.10.1-1) ... Processing triggers for man-db (2.9.1-1) ... wangqiang@DESKTOP-QLPK8QM:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ composer -V -bash: /usr/bin/composer: No such file or directory wangqiang@DESKTOP-QLPK8QM:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" wangqiang@DESKTOP-QLPK8QM:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ php -r "if (hash_file('sha384', 'composer-setup.php') === '55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" Installer verified wangqiang@DESKTOP-QLPK8QM:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ php composer-setup.php All settings correct for using Composer Downloading... Composer (version 2.5.7) successfully installed to: /mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web/composer.phar Use it: php composer.phar wangqiang@DESKTOP-QLPK8QM:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ php composer.phar -V Composer version 2.5.7 2023-05-24 15:00:39
6、提示:Composer is operating significantly slower than normal because you do not have the PHP curl extension enabled.
wangqiang@DESKTOP-QLPK8QM:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ php composer.phar install Composer is operating significantly slower than normal because you do not have the PHP curl extension enabled. wangqiang@DESKTOP-QLPK8QM:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ apt-cache search php | grep cur l php-curl - CURL module for PHP [default] php7.4-curl - CURL module for PHP wangqiang@DESKTOP-QLPK8QM:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ sudo apt-get install php-curl [sudo] password for wangqiang: Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: jsonlint libfwupdplugin1 libonig5 libxmlb1 php-composer-ca-bundle php-composer-semver php-composer-spdx-licenses php-composer-xdebug-handler php-json-schema php-mbstring php-psr-container php-psr-log php-symfony-console php-symfony-filesystem php-symfony-finder php-symfony-process php-symfony-service-contracts php7.4-mbstring Use 'sudo apt autoremove' to remove them. The following additional packages will be installed: php7.4-curl The following NEW packages will be installed: php-curl php7.4-curl 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 32.9 kB of archives. After this operation, 148 kB of additional disk space will be used. Do you want to continue? [Y/n] Y Get:1 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 php7.4-curl amd64 7.4.3-4ubuntu2.18 [30.9 kB] Get:2 http://archive.ubuntu.com/ubuntu focal/main amd64 php-curl all 2:7.4+75 [2000 B] Fetched 32.9 kB in 2s (16.1 kB/s) Selecting previously unselected package php7.4-curl. (Reading database ... 66332 files and directories currently installed.) Preparing to unpack .../php7.4-curl_7.4.3-4ubuntu2.18_amd64.deb ... Unpacking php7.4-curl (7.4.3-4ubuntu2.18) ... Selecting previously unselected package php-curl. Preparing to unpack .../php-curl_2%3a7.4+75_all.deb ... Unpacking php-curl (2:7.4+75) ... Setting up php7.4-curl (7.4.3-4ubuntu2.18) ... Creating config file /etc/php/7.4/mods-available/curl.ini with new version Setting up php-curl (2:7.4+75) ... Processing triggers for libapache2-mod-php7.4 (7.4.3-4ubuntu2.18) ... Processing triggers for php7.4-cli (7.4.3-4ubuntu2.18) ...
7、Your requirements could not be resolved to an installable set of packages. 根 composer.json 需要 php ~8.0.0 || ~8.1.0 || ~8.2.0 但您的 php 版本 (7.4.3) 不满足该要求。一些必需的扩展也没有启用。
wangqiang@DESKTOP-QLPK8QM:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ php composer.phar install No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information. Loading composer repositories with package information Info from https://repo.packagist.org: #StandWithUkraine Updating dependencies Your requirements could not be resolved to an installable set of packages. Problem 1 - Root composer.json requires php ~8.0.0 || ~8.1.0 || ~8.2.0 but your php version (7.4.3) does not satisfy that requirement. Problem 2 - Root composer.json requires PHP extension ext-xml * but it is missing from your system. Install or enable PHP's xml extension. Problem 3 - Root composer.json requires PHP extension ext-zip * but it is missing from your system. Install or enable PHP's zip extension. Problem 4 - Root composer.json requires shopify/shopify-api ^5.0 -> satisfiable by shopify/shopify-api[v5.0.0]. - shopify/shopify-api v5.0.0 requires php ~8.0.0 || ~8.1.0 || ~8.2.0 -> your php version (7.4.3) does not satisfy that requirement. Problem 5 - Root composer.json requires squizlabs/php_codesniffer ^3.6 -> satisfiable by squizlabs/php_codesniffer[3.6.0, ..., 3.x-dev]. - squizlabs/php_codesniffer[3.6.0, ..., 3.x-dev] require ext-xmlwriter * -> it is missing from your system. Install or enable PHP's xmlwriter extension. Problem 6 - phpunit/phpunit[9.3.3, ..., 9.6.x-dev] require ext-dom * -> it is missing from your system. Install or enable PHP's dom extension. - Root composer.json requires phpunit/phpunit ^9.3.3 -> satisfiable by phpunit/phpunit[9.3.3, ..., 9.6.x-dev]. To enable extensions, verify that they are enabled in your .ini files: - /etc/php/7.4/cli/php.ini - /etc/php/7.4/cli/conf.d/10-opcache.ini - /etc/php/7.4/cli/conf.d/10-pdo.ini - /etc/php/7.4/cli/conf.d/20-calendar.ini - /etc/php/7.4/cli/conf.d/20-ctype.ini - /etc/php/7.4/cli/conf.d/20-curl.ini - /etc/php/7.4/cli/conf.d/20-exif.ini - /etc/php/7.4/cli/conf.d/20-ffi.ini - /etc/php/7.4/cli/conf.d/20-fileinfo.ini - /etc/php/7.4/cli/conf.d/20-ftp.ini - /etc/php/7.4/cli/conf.d/20-gettext.ini - /etc/php/7.4/cli/conf.d/20-iconv.ini - /etc/php/7.4/cli/conf.d/20-json.ini - /etc/php/7.4/cli/conf.d/20-mbstring.ini - /etc/php/7.4/cli/conf.d/20-phar.ini - /etc/php/7.4/cli/conf.d/20-posix.ini - /etc/php/7.4/cli/conf.d/20-readline.ini - /etc/php/7.4/cli/conf.d/20-shmop.ini - /etc/php/7.4/cli/conf.d/20-sockets.ini - /etc/php/7.4/cli/conf.d/20-sysvmsg.ini - /etc/php/7.4/cli/conf.d/20-sysvsem.ini - /etc/php/7.4/cli/conf.d/20-sysvshm.ini - /etc/php/7.4/cli/conf.d/20-tokenizer.ini You can also run `php --ini` in a terminal to see which files are used by PHP in CLI mode. Alternatively, you can run Composer with `--ignore-platform-req=ext-xml --ignore-platform-req=ext-zip --ignore-platform-req=ext-xmlwriter --ignore-platform-req=ext-dom` to temporarily ignore these required extensions.
8、参考:在 WSL2 中的 Ubuntu-20.04 中卸载 PHP 7.4,然后安装 PHP 8
9、继续安装 Composer 依赖
wangqiang@DESKTOP-QLPK8QM:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ sudo apt-get install php8.1-curl [sudo] password for wangqiang: Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: php8.1-curl 0 upgraded, 1 newly installed, 0 to remove and 5 not upgraded. Need to get 33.6 kB of archives. After this operation, 152 kB of additional disk space will be used. Get:1 http://ppa.launchpad.net/ondrej/php/ubuntu focal/main amd64 php8.1-curl amd64 8.1.18-1+ubuntu20.04.1+deb.sury.org+1 [33.6 kB] Fetched 33.6 kB in 2s (21.8 kB/s) Selecting previously unselected package php8.1-curl. (Reading database ... 65958 files and directories currently installed.) Preparing to unpack .../php8.1-curl_8.1.18-1+ubuntu20.04.1+deb.sury.org+1_amd64.deb ... Unpacking php8.1-curl (8.1.18-1+ubuntu20.04.1+deb.sury.org+1) ... Setting up php8.1-curl (8.1.18-1+ubuntu20.04.1+deb.sury.org+1) ... Creating config file /etc/php/8.1/mods-available/curl.ini with new version Processing triggers for libapache2-mod-php8.1 (8.1.18-1+ubuntu20.04.1+deb.sury.org+1) ... Processing triggers for php8.1-cli (8.1.18-1+ubuntu20.04.1+deb.sury.org+1) ... wangqiang@DESKTOP-QLPK8QM:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ php composer.phar install No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information. Loading composer repositories with package information Info from https://repo.packagist.org: #StandWithUkraine Updating dependencies Your requirements could not be resolved to an installable set of packages. Problem 1 - Root composer.json requires PHP extension ext-xml * but it is missing from your system. Install or enable PHP's xml extension. Problem 2 - Root composer.json requires PHP extension ext-zip * but it is missing from your system. Install or enable PHP's zip extension. Problem 3 - Root composer.json requires squizlabs/php_codesniffer ^3.6 -> satisfiable by squizlabs/php_codesniffer[3.6.0, ..., 3.x-dev]. - squizlabs/php_codesniffer[3.6.0, ..., 3.x-dev] require ext-xmlwriter * -> it is missing from your system. Install or enable PHP's xmlwriter extension. Problem 4 - phpunit/phpunit[9.3.3, ..., 9.6.x-dev] require ext-dom * -> it is missing from your system. Install or enable PHP's dom extension. - Root composer.json requires phpunit/phpunit ^9.3.3 -> satisfiable by phpunit/phpunit[9.3.3, ..., 9.6.x-dev]. To enable extensions, verify that they are enabled in your .ini files: - /etc/php/8.1/cli/php.ini - /etc/php/8.1/cli/conf.d/10-opcache.ini - /etc/php/8.1/cli/conf.d/10-pdo.ini - /etc/php/8.1/cli/conf.d/20-calendar.ini - /etc/php/8.1/cli/conf.d/20-ctype.ini - /etc/php/8.1/cli/conf.d/20-curl.ini - /etc/php/8.1/cli/conf.d/20-exif.ini - /etc/php/8.1/cli/conf.d/20-ffi.ini - /etc/php/8.1/cli/conf.d/20-fileinfo.ini - /etc/php/8.1/cli/conf.d/20-ftp.ini - /etc/php/8.1/cli/conf.d/20-gettext.ini - /etc/php/8.1/cli/conf.d/20-iconv.ini - /etc/php/8.1/cli/conf.d/20-phar.ini - /etc/php/8.1/cli/conf.d/20-posix.ini - /etc/php/8.1/cli/conf.d/20-readline.ini - /etc/php/8.1/cli/conf.d/20-shmop.ini - /etc/php/8.1/cli/conf.d/20-sockets.ini - /etc/php/8.1/cli/conf.d/20-sysvmsg.ini - /etc/php/8.1/cli/conf.d/20-sysvsem.ini - /etc/php/8.1/cli/conf.d/20-sysvshm.ini - /etc/php/8.1/cli/conf.d/20-tokenizer.ini You can also run `php --ini` in a terminal to see which files are used by PHP in CLI mode. Alternatively, you can run Composer with `--ignore-platform-req=ext-xml --ignore-platform-req=ext-zip --ignore-platform-req=ext-xmlwriter --ignore-platform-req=ext-dom` to temporarily ignore these required extensions. wangqiang@DESKTOP-QLPK8QM:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ sudo apt-get install php8.1-xml wangqiang@DESKTOP-QLPK8QM:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ sudo apt-get install php8.1-zip wangqiang@DESKTOP-QLPK8QM:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ sudo php compos er.phar install [sudo] password for wangqiang: Do not run Composer as root/super user! See https://getcomposer.org/root for details Continue as root/super user [yes]? yes Installing dependencies from lock file (including require-dev) Verifying lock file contents can be installed on current platform. Package operations: 114 installs, 0 updates, 0 removals - Downloading brick/math (0.11.0) - Downloading psr/log (2.0.0) - Downloading psr/cache (3.0.0) - Downloading doctrine/event-manager (2.0.0) - Downloading doctrine/deprecations (v1.1.0) - Downloading doctrine/cache (2.2.0) - Downloading doctrine/dbal (3.6.2) - Downloading doctrine/lexer (1.2.3) - Downloading symfony/polyfill-ctype (v1.27.0) - Downloading webmozart/assert (1.11.0) - Downloading dragonmantank/cron-expression (v3.3.2) - Downloading symfony/polyfill-php80 (v1.27.0) - Downloading symfony/polyfill-mbstring (v1.27.0) - Downloading symfony/var-dumper (v5.4.24) - Downloading symfony/polyfill-intl-normalizer (v1.27.0) - Downloading symfony/polyfill-intl-grapheme (v1.27.0) - Downloading symfony/string (v6.3.0) - Downloading symfony/deprecation-contracts (v3.3.0) - Downloading psr/container (1.1.2) - Downloading symfony/service-contracts (v2.5.2) - Downloading symfony/polyfill-php73 (v1.27.0) - Downloading symfony/console (v5.4.24) - Downloading monolog/monolog (2.9.1) - Downloading voku/portable-ascii (1.6.1) - Downloading phpoption/phpoption (1.9.1) - Downloading graham-campbell/result-type (v1.1.1) - Downloading vlucas/phpdotenv (v5.5.0) - Downloading symfony/css-selector (v6.3.0) - Downloading tijsverkoyen/css-to-inline-styles (2.2.6) - Downloading symfony/routing (v5.4.22) - Downloading symfony/process (v5.4.24) - Downloading symfony/polyfill-php72 (v1.27.0) - Downloading symfony/polyfill-intl-idn (v1.27.0) - Downloading symfony/mime (v5.4.23) - Downloading symfony/http-foundation (v5.4.24) - Downloading psr/event-dispatcher (1.0.0) - Downloading symfony/event-dispatcher-contracts (v3.3.0) - Downloading symfony/event-dispatcher (v6.3.0) - Downloading symfony/error-handler (v5.4.24) - Downloading symfony/http-kernel (v5.4.24) - Downloading symfony/finder (v5.4.21) - Downloading symfony/polyfill-iconv (v1.27.0) - Downloading egulias/email-validator (2.1.25) - Downloading swiftmailer/swiftmailer (v6.3.0) - Downloading ramsey/collection (2.0.0) - Downloading ramsey/uuid (4.7.4) - Downloading psr/simple-cache (1.0.1) - Downloading opis/closure (3.6.3) - Downloading symfony/translation-contracts (v3.3.0) - Downloading symfony/translation (v6.3.0) - Downloading nesbot/carbon (2.67.0) - Downloading league/mime-type-detection (1.11.0) - Downloading league/flysystem (1.1.10) - Downloading nette/utils (v4.0.0) - Downloading nette/schema (v1.2.3) - Downloading dflydev/dot-access-data (v3.0.2) - Downloading league/config (v1.2.0) - Downloading league/commonmark (2.4.0) - Downloading laravel/serializable-closure (v1.3.0) - Downloading doctrine/inflector (2.0.6) - Downloading laravel/framework (v8.83.27) - Downloading facade/ignition-contracts (1.0.2) - Downloading facade/flare-client-php (1.10.0) - Downloading facade/ignition (2.17.7) - Downloading fakerphp/faker (v1.22.0) - Downloading fideloper/proxy (4.4.2) - Downloading fruitcake/php-cors (v1.2.0) - Downloading fruitcake/laravel-cors (v3.0.0) - Downloading guzzlehttp/promises (2.0.0) - Downloading symfony/yaml (v6.3.0) - Downloading laravel/sail (v1.22.0) - Downloading nikic/php-parser (v4.15.5) - Downloading psy/psysh (v0.11.18) - Downloading laravel/tinker (v2.8.1) - Downloading hamcrest/hamcrest-php (v2.0.1) - Downloading mockery/mockery (1.5.1) - Downloading filp/whoops (2.15.2) - Downloading nunomaduro/collision (v5.11.0) - Downloading sebastian/version (3.0.2) - Downloading sebastian/type (3.2.1) - Downloading sebastian/resource-operations (3.0.3) - Downloading sebastian/recursion-context (4.0.5) - Downloading sebastian/object-reflector (2.0.4) - Downloading sebastian/object-enumerator (4.0.4) - Downloading sebastian/global-state (5.0.5) - Downloading sebastian/exporter (4.0.5) - Downloading sebastian/environment (5.1.5) - Downloading sebastian/diff (4.0.5) - Downloading sebastian/comparator (4.0.8) - Downloading sebastian/code-unit (1.0.8) - Downloading sebastian/cli-parser (1.0.1) - Downloading phpunit/php-timer (5.0.3) - Downloading phpunit/php-text-template (2.0.4) - Downloading phpunit/php-invoker (3.1.1) - Downloading phpunit/php-file-iterator (3.0.6) - Downloading theseer/tokenizer (1.2.1) - Downloading sebastian/lines-of-code (1.0.3) - Downloading sebastian/complexity (2.0.2) - Downloading sebastian/code-unit-reverse-lookup (2.0.3) - Downloading phpunit/php-code-coverage (9.2.26) - Downloading phar-io/version (3.2.1) - Downloading phar-io/manifest (2.0.3) - Downloading myclabs/deep-copy (1.11.1) - Downloading doctrine/instantiator (2.0.0) - Downloading phpunit/phpunit (9.6.8) - Downloading psr/http-message (1.1) - Downloading psr/http-factory (1.0.2) - Downloading ralouphie/getallheaders (3.0.3) - Downloading psr/http-client (1.0.2) - Downloading guzzlehttp/psr7 (2.5.0) - Downloading guzzlehttp/guzzle (7.7.0) - Downloading firebase/php-jwt (v6.5.0) - Downloading shopify/shopify-api (v5.0.0) - Downloading squizlabs/php_codesniffer (3.7.2) - Installing brick/math (0.11.0): Extracting archive - Installing psr/log (2.0.0): Extracting archive - Installing psr/cache (3.0.0): Extracting archive - Installing doctrine/event-manager (2.0.0): Extracting archive - Installing doctrine/deprecations (v1.1.0): Extracting archive - Installing doctrine/cache (2.2.0): Extracting archive - Installing doctrine/dbal (3.6.2): Extracting archive - Installing doctrine/lexer (1.2.3): Extracting archive - Installing symfony/polyfill-ctype (v1.27.0): Extracting archive - Installing webmozart/assert (1.11.0): Extracting archive - Installing dragonmantank/cron-expression (v3.3.2): Extracting archive - Installing symfony/polyfill-php80 (v1.27.0): Extracting archive - Installing symfony/polyfill-mbstring (v1.27.0): Extracting archive - Installing symfony/var-dumper (v5.4.24): Extracting archive - Installing symfony/polyfill-intl-normalizer (v1.27.0): Extracting archive - Installing symfony/polyfill-intl-grapheme (v1.27.0): Extracting archive - Installing symfony/string (v6.3.0): Extracting archive - Installing symfony/deprecation-contracts (v3.3.0): Extracting archive - Installing psr/container (1.1.2): Extracting archive - Installing symfony/service-contracts (v2.5.2): Extracting archive - Installing symfony/polyfill-php73 (v1.27.0): Extracting archive - Installing symfony/console (v5.4.24): Extracting archive - Installing monolog/monolog (2.9.1): Extracting archive - Installing voku/portable-ascii (1.6.1): Extracting archive - Installing phpoption/phpoption (1.9.1): Extracting archive - Installing graham-campbell/result-type (v1.1.1): Extracting archive - Installing vlucas/phpdotenv (v5.5.0): Extracting archive - Installing symfony/css-selector (v6.3.0): Extracting archive - Installing tijsverkoyen/css-to-inline-styles (2.2.6): Extracting archive - Installing symfony/routing (v5.4.22): Extracting archive - Installing symfony/process (v5.4.24): Extracting archive - Installing symfony/polyfill-php72 (v1.27.0): Extracting archive - Installing symfony/polyfill-intl-idn (v1.27.0): Extracting archive - Installing symfony/mime (v5.4.23): Extracting archive - Installing symfony/http-foundation (v5.4.24): Extracting archive - Installing psr/event-dispatcher (1.0.0): Extracting archive - Installing symfony/event-dispatcher-contracts (v3.3.0): Extracting archive - Installing symfony/event-dispatcher (v6.3.0): Extracting archive - Installing symfony/error-handler (v5.4.24): Extracting archive - Installing symfony/http-kernel (v5.4.24): Extracting archive - Installing symfony/finder (v5.4.21): Extracting archive - Installing symfony/polyfill-iconv (v1.27.0): Extracting archive - Installing egulias/email-validator (2.1.25): Extracting archive - Installing swiftmailer/swiftmailer (v6.3.0): Extracting archive - Installing ramsey/collection (2.0.0): Extracting archive - Installing ramsey/uuid (4.7.4): Extracting archive - Installing psr/simple-cache (1.0.1): Extracting archive - Installing opis/closure (3.6.3): Extracting archive - Installing symfony/translation-contracts (v3.3.0): Extracting archive - Installing symfony/translation (v6.3.0): Extracting archive - Installing nesbot/carbon (2.67.0): Extracting archive - Installing league/mime-type-detection (1.11.0): Extracting archive - Installing league/flysystem (1.1.10): Extracting archive - Installing nette/utils (v4.0.0): Extracting archive - Installing nette/schema (v1.2.3): Extracting archive - Installing dflydev/dot-access-data (v3.0.2): Extracting archive - Installing league/config (v1.2.0): Extracting archive - Installing league/commonmark (2.4.0): Extracting archive - Installing laravel/serializable-closure (v1.3.0): Extracting archive - Installing doctrine/inflector (2.0.6): Extracting archive - Installing laravel/framework (v8.83.27): Extracting archive - Installing facade/ignition-contracts (1.0.2): Extracting archive - Installing facade/flare-client-php (1.10.0): Extracting archive - Installing facade/ignition (2.17.7): Extracting archive - Installing fakerphp/faker (v1.22.0): Extracting archive - Installing fideloper/proxy (4.4.2): Extracting archive - Installing fruitcake/php-cors (v1.2.0): Extracting archive - Installing fruitcake/laravel-cors (v3.0.0): Extracting archive - Installing guzzlehttp/promises (2.0.0): Extracting archive - Installing symfony/yaml (v6.3.0): Extracting archive - Installing laravel/sail (v1.22.0): Extracting archive - Installing nikic/php-parser (v4.15.5): Extracting archive - Installing psy/psysh (v0.11.18): Extracting archive - Installing laravel/tinker (v2.8.1): Extracting archive - Installing hamcrest/hamcrest-php (v2.0.1): Extracting archive - Installing mockery/mockery (1.5.1): Extracting archive - Installing filp/whoops (2.15.2): Extracting archive - Installing nunomaduro/collision (v5.11.0): Extracting archive - Installing sebastian/version (3.0.2): Extracting archive - Installing sebastian/type (3.2.1): Extracting archive - Installing sebastian/resource-operations (3.0.3): Extracting archive - Installing sebastian/recursion-context (4.0.5): Extracting archive - Installing sebastian/object-reflector (2.0.4): Extracting archive - Installing sebastian/object-enumerator (4.0.4): Extracting archive - Installing sebastian/global-state (5.0.5): Extracting archive - Installing sebastian/exporter (4.0.5): Extracting archive - Installing sebastian/environment (5.1.5): Extracting archive - Installing sebastian/diff (4.0.5): Extracting archive - Installing sebastian/comparator (4.0.8): Extracting archive - Installing sebastian/code-unit (1.0.8): Extracting archive - Installing sebastian/cli-parser (1.0.1): Extracting archive - Installing phpunit/php-timer (5.0.3): Extracting archive - Installing phpunit/php-text-template (2.0.4): Extracting archive - Installing phpunit/php-invoker (3.1.1): Extracting archive - Installing phpunit/php-file-iterator (3.0.6): Extracting archive - Installing theseer/tokenizer (1.2.1): Extracting archive - Installing sebastian/lines-of-code (1.0.3): Extracting archive - Installing sebastian/complexity (2.0.2): Extracting archive - Installing sebastian/code-unit-reverse-lookup (2.0.3): Extracting archive - Installing phpunit/php-code-coverage (9.2.26): Extracting archive - Installing phar-io/version (3.2.1): Extracting archive - Installing phar-io/manifest (2.0.3): Extracting archive - Installing myclabs/deep-copy (1.11.1): Extracting archive - Installing doctrine/instantiator (2.0.0): Extracting archive - Installing phpunit/phpunit (9.6.8): Extracting archive - Installing psr/http-message (1.1): Extracting archive - Installing psr/http-factory (1.0.2): Extracting archive - Installing ralouphie/getallheaders (3.0.3): Extracting archive - Installing psr/http-client (1.0.2): Extracting archive - Installing guzzlehttp/psr7 (2.5.0): Extracting archive - Installing guzzlehttp/guzzle (7.7.0): Extracting archive - Installing firebase/php-jwt (v6.5.0): Extracting archive - Installing shopify/shopify-api (v5.0.0): Extracting archive - Installing squizlabs/php_codesniffer (3.7.2): Extracting archive Package fruitcake/laravel-cors is abandoned, you should avoid using it. No replacement was suggested. Package swiftmailer/swiftmailer is abandoned, you should avoid using it. Use symfony/mailer instead. Generating optimized autoload files > Illuminate\Foundation\ComposerScripts::postAutoloadDump > @php artisan package:discover --ansi Discovered Package: facade/ignition Discovered Package: fideloper/proxy Discovered Package: fruitcake/laravel-cors Discovered Package: laravel/sail Discovered Package: laravel/tinker Discovered Package: nesbot/carbon Discovered Package: nunomaduro/collision Package manifest generated successfully. 81 packages you are using are looking for funding. Use the `composer fund` command to find out more!
10、安装 MySQL,参考:进入数据库
wangqiang@DESKTOP-QLPK8QM:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ sudo apt install mysql-server wangqiang@DESKTOP-QLPK8QM:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ mysql --version mysql Ver 8.0.33-0ubuntu0.20.04.2 for Linux on x86_64 ((Ubuntu)) wangqiang@DESKTOP-QLPK8QM:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ sudo mysql ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) wangqiang@DESKTOP-QLPK8QM:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ sudo /etc/init.d/mysql start * Starting MySQL database server mysqld su: warning: cannot change directory to /nonexistent: No such file or directory [ OK ] wangqiang@DESKTOP-QLPK8QM:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ sudo mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 10 Server version: 8.0.33-0ubuntu0.20.04.2 (Ubuntu) Copyright (c) 2000, 2023, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.01 sec) mysql> CREATE DATABASE learn_php_app_ubuntu_2004_0602; Query OK, 1 row affected (0.01 sec) mysql> SHOW DATABASES; +--------------------------------+ | Database | +--------------------------------+ | information_schema | | learn_php_app_ubuntu_2004_0602 | | mysql | | performance_schema | | sys | +--------------------------------+ 5 rows in set (0.00 sec) mysql>
11、编辑 .env
APP_NAME="Shopify PHP App Ubuntu-20.04" APP_ENV=local APP_KEY= APP_DEBUG=true LOG_CHANNEL=stack LOG_LEVEL=debug DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=learn_php_app_ubuntu_2004_0602 DB_USERNAME= DB_PASSWORD=
12、执行数据库迁移命令时报错:Access denied for user ”@’localhost’ (using password: NO)
wangqiang@DESKTOP-QLPK8QM:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ php artisan migrate Illuminate\Database\QueryException SQLSTATE[HY000] [1045] Access denied for user ''@'localhost' (using password: NO) (SQL: select * from information_schema.tables where table_schema = learn_php_app_ubuntu_2004_0602 and table_name = migrations and table_type = 'BASE TABLE') at vendor/laravel/framework/src/Illuminate/Database/Connection.php:712 708▕ // If an exception occurs when attempting to run a query, we'll format the error 709▕ // message to include the bindings with SQL, which will make this exception a 710▕ // lot more helpful to the developer instead of just the database's errors. 711▕ catch (Exception $e) { ➜ 712▕ throw new QueryException( 713▕ $query, $this->prepareBindings($bindings), $e 714▕ ); 715▕ } 716▕ } +33 vendor frames 34 artisan:37 Illuminate\Foundation\Console\Kernel::handle()
13、启动安全脚本提示符:sudo mysql_secure_installation 时,设置密码时提示:Failed! Error: SET PASSWORD has no significance for user ‘root’@’localhost’ as the authentication method used doesn’t store authentication data in the MySQL server.
wangqiang@DESKTOP-QLPK8QM:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ sudo mysql_secure_installation Securing the MySQL server deployment. Connecting to MySQL using a blank password. The 'validate_password' component is installed on the server. The subsequent steps will run with the existing configuration of the component. Please set the password for root here. New password: Re-enter new password: Estimated strength of the password: 100 Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y ... Failed! Error: SET PASSWORD has no significance for user 'root'@'localhost' as the authentication method used doesn't store authentication data in the MySQL server. Please consider using ALTER USER instead if you want to change authentication parameters.
14、执行:sudo cat /etc/mysql/debian.cnf,使用文件中的用户名与密码重新设置 .env ,执行数据库迁移成功
APP_NAME="Shopify PHP App Ubuntu-20.04" APP_ENV=local APP_KEY=base64:YFa6CcsSTZ4d0u62FbrCmehnoEx9q9bM5OnqjnAxdeU= APP_DEBUG=true LOG_CHANNEL=stack LOG_LEVEL=debug DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=learn_php_app_ubuntu_2004_0602 DB_USERNAME=debian-sys-maint DB_PASSWORD=nGWMLgJjXnsnhm7t
wangqiang@DESKTOP-QLPK8QM:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ php artisan migrate Migration table created successfully. Migrating: 2019_08_19_000000_create_failed_jobs_table Migrated: 2019_08_19_000000_create_failed_jobs_table (106.88ms) Migrating: 2021_05_03_050717_create_sessions_table Migrated: 2021_05_03_050717_create_sessions_table (45.18ms) Migrating: 2021_05_05_071311_add_scope_expires_access_token_to_sessions Migrated: 2021_05_05_071311_add_scope_expires_access_token_to_sessions (27.42ms) Migrating: 2021_05_11_151158_add_online_access_info_to_sessions Migrated: 2021_05_11_151158_add_online_access_info_to_sessions (23.57ms) Migrating: 2021_05_17_152611_change_sessions_user_id_type Migrated: 2021_05_17_152611_change_sessions_user_id_type (630.37ms)
15、启动本地服务器,回到根目录,执行:npm run dev,报错,怀疑是第 3 步骤未执行彻底导致的问题。因为在第 3 步骤未提示:success
wangqiang@DESKTOP-QLPK8QM:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602$ npm run dev > learn-php-app-ubuntu-2004-0602@1.0.0 dev > shopify app dev ? Command `app dev` not found. Did you mean `theme dev`? ✔ Yes, confirm ╭─ error ──────────────────────────────────────────────────────────────────────╮ │ │ │ A store is required │ │ │ │ Specify the store passing --store={your_store_url} or set the │ │ SHOPIFY_FLAG_STORE environment variable. │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ wangqiang@DESKTOP-QLPK8QM:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602$
16、从头开始新建应用:learn-php-app-ubuntu-2004-0605,需要耐心等待一段时间,不要中途给中止了。如图1
wangqiang@DESKTOP-QLPK8QM:/mnt/e/wwwroot/shopify-app$ sudo npm init @shopify/app@latest Welcome. Let’s get started by naming your app project. You can change it later. ? Your app project name? ✔ learn-php-app-ubuntu-2004-0605 ? Which template would you like to use? ✔ php ╭─ success ────────────────────────────────────────────────────────────────────╮ │ │ │ learn-php-app-ubuntu-2004-0605 is ready for you to build! │ │ │ │ Next steps │ │ • Run `cd learn-php-app-ubuntu-2004-0605` │ │ • For extensions, run `npm run generate extension` │ │ • To see your app, run `npm run dev` │ │ │ │ Reference │ │ • Shopify docs [1] │ │ • For an overview of commands, run `npm run shopify app -- --help` │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ [1] https://shopify.dev
17、再次从第 4 步骤开始操作,一些步骤可以跳过。执行第 15 步骤,报错:To investigate the issue, examine this stack trace。重新执行即可。进入安装应用。如图2
wangqiang@DESKTOP-QLPK8QM:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0605$ composer -V Composer version 2.5.5 2023-03-21 11:50:05 wangqiang@DESKTOP-QLPK8QM:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0605/web$ composer install wangqiang@DESKTOP-QLPK8QM:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0605/web$ cp .env.example .env wangqiang@DESKTOP-QLPK8QM:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0605/web$ php artisan key:generate wangqiang@DESKTOP-QLPK8QM:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0605/web$ php artisan migrate wangqiang@DESKTOP-QLPK8QM:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0605$ npm run dev > learn-php-app-ubuntu-2004-0605@1.0.0 dev > shopify app dev To run this command, log in to Shopify Partners. 👉 Press any key to open the login page on your browser Auto-open timed out. Open the login page: Log in to Shopify Partners ( http://accounts.shopify.com/oauth/authorize?client_id=fbdb2649-e327-4907-8f67-908d24cfd7e3&scope=openid+https%3A%2F%2Fapi.shopify.com%2Fauth%2Fshop.admin.graphql+https%3A%2F%2Fapi.shopify.com%2Fauth%2Fshop.admin.themes+https%3A%2F%2Fapi.shopify.com%2Fauth%2Fpartners.collaborator-relationships.readonly+https%3A%2F%2Fapi.shopify.com%2Fauth%2Fshop.storefront-renderer.devtools+https%3A%2F%2Fapi.shopify.com%2Fauth%2Fpartners.app.cli.access&redirect_uri=http%3A%2F%2F127.0.0.1%3A3456&state=5cba6732fe773fac2a7e9a95ddf3ab686b3a9b7231168d58f339f17dcaa1&response_type=code&code_challenge_method=S256&code_challenge=gozZ6hqQIOzwYdzxuX2RaOUgpaRz9A8gUlUoC6Wy6Vw ) ✔ Logged in. Looks like this is the first time you're running dev for this project. Configure your preferences by answering a few questions. Before you preview your work, it needs to be associated with an app. ? Create this project as a new app on Shopify? ✔ Yes, create it as a new app ? App name: ✔ learn-php-app-ubuntu-2004-0605 ✔ Using your default dev store (shuijingwanwq-development) to preview your project. ╭─ error ──────────────────────────────────────────────────────────────────────╮ │ │ │ │ │ To investigate the issue, examine this stack trace: │ │ at pollTunnelStatus (@shopify/app/src/cli/services/dev/urls.ts:106) │ │ if (result.status === 'error') return reject(new │ │ BugError(result.message)) │ │ at (@shopify/app/src/cli/services/dev/urls.ts:120) │ │ pollTunnelStatus() │ │ at new Promise │ │ at pollTunnelURL (@shopify/app/src/cli/services/dev/urls.ts:101) │ │ return new Promise<string>((resolve, reject) => { │ │ at generateFrontendURL (@shopify/app/src/cli/services/dev/urls.ts:89) │ │ const url = await pollTunnelURL(options.tunnelClient) │ │ at dev (@shopify/app/src/cli/services/dev.ts:121) │ │ generateFrontendURL({ │ │ at run (@shopify/app/src/cli/commands/app/dev.ts:106) │ │ await dev({ │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ wangqiang@DESKTOP-QLPK8QM:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0605$ npm run dev > learn-php-app-ubuntu-2004-0605@1.0.0 dev > shopify app dev ╭─ info ───────────────────────────────────────────────────────────────────────╮ │ │ │ Using your previous dev settings: │ │ │ │ • Org: 王强 │ │ • App: learn-php-app-ubuntu-2004-0605 │ │ • Dev store: shuijingwanwq-development.myshopify.com │ │ • Update URLs: Not yet configured │ │ │ │ To reset your default dev config, run `npm run dev -- --reset` │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ? Have Shopify automatically update your app's URL in order to create a preview experience? ✔ Always by default 2023-06-06 01:51:12 │ frontend │ 2023-06-06 01:51:12 │ frontend │ > shopify-frontend-template-react@1.0.0 dev 2023-06-06 01:51:12 │ frontend │ > vite 2023-06-06 01:51:12 │ frontend │ 2023-06-06 01:51:18 │ backend │ > Composer\Config::disableProcessTimeout 2023-06-06 01:51:18 │ backend │ > php artisan serve 2023-06-06 01:51:20 │ frontend │ 2023-06-06 01:51:20 │ frontend │ VITE v4.3.9 ready in 7780 ms 2023-06-06 01:51:20 │ frontend │ 2023-06-06 01:51:20 │ frontend │ ➜ Local: http://localhost:33597/ 2023-06-06 01:51:26 │ backend │ Starting Laravel development server: http://127.0.0.1:44681 2023-06-06 01:51:27 │ backend │ [Tue Jun 6 09:51:26 2023] PHP 8.1.18 Development Server (http://127.0.0.1:44681) started 2023-06-06 01:51:47 │ backend │ [Tue Jun 6 09:51:47 2023] 127.0.0.1:34304 Accepted 2023-06-06 01:51:54 │ backend │ [Tue Jun 6 09:51:54 2023] 127.0.0.1:34304 Closing 2023-06-06 01:51:54 │ backend │ [Tue Jun 6 09:51:54 2023] 127.0.0.1:34310 Accepted 2023-06-06 01:51:56 │ backend │ [Tue Jun 6 09:51:56 2023] 127.0.0.1:34310 Closing 2023-06-06 01:53:17 │ backend │ [Tue Jun 6 09:53:17 2023] 127.0.0.1:34320 Accepted 2023-06-06 01:53:22 │ backend │ [Tue Jun 6 09:53:22 2023] 127.0.0.1:34320 Closing 2023-06-06 01:53:22 │ backend │ [Tue Jun 6 09:53:22 2023] 127.0.0.1:34326 Accepted 2023-06-06 01:53:26 │ backend │ [Tue Jun 6 09:53:25 2023] 127.0.0.1:34326 Closing › Press p │ preview in your browser › Press q │ quit Preview URL: https://instructional-attend-excellent-gig.trycloudflare.com?shop=shuijingwanwq-development.myshopify.com&h ost=c2h1aWppbmd3YW53cS1kZXZlbG9wbWVudC5teXNob3BpZnkuY29tL2FkbWlu
18、安装应用时报错:Shopify\Exception\CookieNotFoundException Could not find the current session id in the cookies。如图3
19、再次运行:npm run dev,打开浏览器,不再报错。如图4
1 条回复
[…] 上一篇 在 WSL2 中的 Ubuntu-20.04 中创建应用:Shopify App Template – PHP […]