部署Web应用程序时的作曲家安装和PHP版本的问题

发布于 2025-02-03 05:15:57 字数 7277 浏览 6 评论 0原文

我需要部署使用Laravel和vue.js编写的Web应用程序。 该服务器使用Ubuntu 18.04在AWS上。 最初,该开发是在带有XAMPP v7.4.10的Windows机器上完成的,控制面板v3.2.4和PHP v7.4.10。 后来,我在具有相同版本的XAMPP和PHP v7.4.28的MacOS计算机上开发了开发。 我发现服务器上有php v7.3.18,当我尝试运行命令时

composer install

Cannot create cache directory /home/ubuntu/.composer/cache/repo/https---packagist.org/, or directory is not writable. Proceeding without cache
Cannot create cache directory /home/ubuntu/.composer/cache/files/, or directory is not writable. Proceeding without cache
Loading composer repositories with package information
Installing dependencies from lock file
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for psr/container 1.1.2 -> satisfiable by psr/container[1.1.2].
    - psr/container 1.1.2 requires php >=7.4.0 -> your PHP version (7.3.18) does not satisfy that requirement.
  Problem 2
    - psr/container 1.1.2 requires php >=7.4.0 -> your PHP version (7.3.18) does not satisfy that requirement.
    - symfony/service-contracts v2.5.0 requires psr/container ^1.1 -> satisfiable by psr/container[1.1.2].
    - Installation request for symfony/service-contracts v2.5.0 -> satisfiable by symfony/service-contracts[v2.5.0].

我使用以下shell命令安装并启用了php v7.4:

    sudo apt install php7.4
    sudo a2dismod php7.3
    sudo a2enmod php7.4
    sudo systemctl restart apache2
    sudo update-alternatives --set php /usr/bin/php7.4

但是现在它给了我这个错误:

PHP Warning:  PHP Startup: Unable to load dynamic library 'gd2' (tried: /usr/lib/php/20190902/gd2 (/usr/lib/php/20190902/gd2: cannot open shared object file: No such file or directory), /usr/lib/php/20190902/gd2.so (/usr/lib/php/20190902/gd2.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'mysqli' (tried: /usr/lib/php/20190902/mysqli (/usr/lib/php/20190902/mysqli: cannot open shared object file: No such file or directory), /usr/lib/php/20190902/mysqli.so (/usr/lib/php/20190902/mysqli.so: undefined symbol: mysqlnd_global_stats)) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'pdo_mysql' (tried: /usr/lib/php/20190902/pdo_mysql (/usr/lib/php/20190902/pdo_mysql: cannot open shared object file: No such file or directory), /usr/lib/php/20190902/pdo_mysql.so (/usr/lib/php/20190902/pdo_mysql.so: undefined symbol: mysqlnd_allocator)) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'pdo_sqlite' (tried: /usr/lib/php/20190902/pdo_sqlite (/usr/lib/php/20190902/pdo_sqlite: cannot open shared object file: No such file or directory), /usr/lib/php/20190902/pdo_sqlite.so (/usr/lib/php/20190902/pdo_sqlite.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning:  Module 'bz2' already loaded in Unknown on line 0
PHP Warning:  Module 'curl' already loaded in Unknown on line 0
PHP Warning:  Module 'mbstring' already loaded in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'pdo_mysql.so' (tried: /usr/lib/php/20190902/pdo_mysql.so (/usr/lib/php/20190902/pdo_mysql.so: undefined symbol: pdo_parse_params), /usr/lib/php/20190902/pdo_mysql.so.so (/usr/lib/php/20190902/pdo_mysql.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for nikic/php-parser v4.13.2 -> satisfiable by nikic/php-parser[v4.13.2].
    - nikic/php-parser v4.13.2 requires ext-tokenizer * -> the requested PHP extension tokenizer is missing from your system.
  Problem 2
    - Installation request for psy/psysh v0.11.1 -> satisfiable by psy/psysh[v0.11.1].
    - psy/psysh v0.11.1 requires ext-tokenizer * -> the requested PHP extension tokenizer is missing from your system.
  Problem 3
    - Installation request for tijsverkoyen/css-to-inline-styles 2.2.4 -> satisfiable by tijsverkoyen/css-to-inline-styles[2.2.4].
    - tijsverkoyen/css-to-inline-styles 2.2.4 requires ext-dom * -> the requested PHP extension dom is missing from your system.
  Problem 4
    - Installation request for phar-io/manifest 2.0.3 -> satisfiable by phar-io/manifest[2.0.3].
    - phar-io/manifest 2.0.3 requires ext-dom * -> the requested PHP extension dom is missing from your system.
  Problem 5
    - Installation request for php-parallel-lint/php-console-highlighter v0.5 -> satisfiable by php-parallel-lint/php-console-highlighter[v0.5].
    - php-parallel-lint/php-console-highlighter v0.5 requires ext-tokenizer * -> the requested PHP extension tokenizer is missing from your system.
  Problem 6
    - Installation request for phpunit/php-code-coverage 7.0.15 -> satisfiable by phpunit/php-code-coverage[7.0.15].
    - phpunit/php-code-coverage 7.0.15 requires ext-dom * -> the requested PHP extension dom is missing from your system.
  Problem 7
    - Installation request for phpunit/php-token-stream 4.0.4 -> satisfiable by phpunit/php-token-stream[4.0.4].
    - phpunit/php-token-stream 4.0.4 requires ext-tokenizer * -> the requested PHP extension tokenizer is missing from your system.
  Problem 8
    - Installation request for phpunit/phpunit 8.5.23 -> satisfiable by phpunit/phpunit[8.5.23].
    - phpunit/phpunit 8.5.23 requires ext-dom * -> the requested PHP extension dom is missing from your system.
  Problem 9
    - Installation request for theseer/tokenizer 1.2.1 -> satisfiable by theseer/tokenizer[1.2.1].
    - theseer/tokenizer 1.2.1 requires ext-dom * -> the requested PHP extension dom is missing from your system.
  Problem 10
    - tijsverkoyen/css-to-inline-styles 2.2.4 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - laravel/framework v6.20.44 requires tijsverkoyen/css-to-inline-styles ^2.2.1 -> satisfiable by tijsverkoyen/css-to-inline-styles[2.2.4].
    - Installation request for laravel/framework v6.20.44 -> satisfiable by laravel/framework[v6.20.44].

  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-mysqlnd.ini
    - /etc/php/7.4/cli/conf.d/10-opcache.ini
    - /etc/php/7.4/cli/conf.d/20-bcmath.ini
    - /etc/php/7.4/cli/conf.d/20-bz2.ini
    - /etc/php/7.4/cli/conf.d/20-curl.ini
    - /etc/php/7.4/cli/conf.d/20-gd.ini
    - /etc/php/7.4/cli/conf.d/20-imagick.ini
    - /etc/php/7.4/cli/conf.d/20-imap.ini
    - /etc/php/7.4/cli/conf.d/20-intl.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-mysqli.ini
    - /etc/php/7.4/cli/conf.d/20-pdo_mysql.ini
    - /etc/php/7.4/cli/conf.d/20-readline.ini
    - /etc/php/7.4/cli/conf.d/20-soap.ini
    - /etc/php/7.4/cli/conf.d/20-xmlrpc.ini
    - /etc/php/7.4/cli/conf.d/20-zip.ini
  You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.

但是现在我不知道该如何解决这个问题

I need to deploy a web application written with Laravel and vue.js.
The server is on AWS with ubuntu 18.04.
Initially the development was done on a windows machine with Xampp v7.4.10, Control Panel v3.2.4 and with PHP v7.4.10.
Later I developed on a macOs machine with the same version of Xampp and with PHP v7.4.28.
I found out that I have PHP v7.3.18 on the server and when I tried to run the command

composer install

gives me this error:

Cannot create cache directory /home/ubuntu/.composer/cache/repo/https---packagist.org/, or directory is not writable. Proceeding without cache
Cannot create cache directory /home/ubuntu/.composer/cache/files/, or directory is not writable. Proceeding without cache
Loading composer repositories with package information
Installing dependencies from lock file
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for psr/container 1.1.2 -> satisfiable by psr/container[1.1.2].
    - psr/container 1.1.2 requires php >=7.4.0 -> your PHP version (7.3.18) does not satisfy that requirement.
  Problem 2
    - psr/container 1.1.2 requires php >=7.4.0 -> your PHP version (7.3.18) does not satisfy that requirement.
    - symfony/service-contracts v2.5.0 requires psr/container ^1.1 -> satisfiable by psr/container[1.1.2].
    - Installation request for symfony/service-contracts v2.5.0 -> satisfiable by symfony/service-contracts[v2.5.0].

I installed and enabled PHP v7.4 using the following shell commands:

    sudo apt install php7.4
    sudo a2dismod php7.3
    sudo a2enmod php7.4
    sudo systemctl restart apache2
    sudo update-alternatives --set php /usr/bin/php7.4

but now it gives me this error:

PHP Warning:  PHP Startup: Unable to load dynamic library 'gd2' (tried: /usr/lib/php/20190902/gd2 (/usr/lib/php/20190902/gd2: cannot open shared object file: No such file or directory), /usr/lib/php/20190902/gd2.so (/usr/lib/php/20190902/gd2.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'mysqli' (tried: /usr/lib/php/20190902/mysqli (/usr/lib/php/20190902/mysqli: cannot open shared object file: No such file or directory), /usr/lib/php/20190902/mysqli.so (/usr/lib/php/20190902/mysqli.so: undefined symbol: mysqlnd_global_stats)) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'pdo_mysql' (tried: /usr/lib/php/20190902/pdo_mysql (/usr/lib/php/20190902/pdo_mysql: cannot open shared object file: No such file or directory), /usr/lib/php/20190902/pdo_mysql.so (/usr/lib/php/20190902/pdo_mysql.so: undefined symbol: mysqlnd_allocator)) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'pdo_sqlite' (tried: /usr/lib/php/20190902/pdo_sqlite (/usr/lib/php/20190902/pdo_sqlite: cannot open shared object file: No such file or directory), /usr/lib/php/20190902/pdo_sqlite.so (/usr/lib/php/20190902/pdo_sqlite.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning:  Module 'bz2' already loaded in Unknown on line 0
PHP Warning:  Module 'curl' already loaded in Unknown on line 0
PHP Warning:  Module 'mbstring' already loaded in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'pdo_mysql.so' (tried: /usr/lib/php/20190902/pdo_mysql.so (/usr/lib/php/20190902/pdo_mysql.so: undefined symbol: pdo_parse_params), /usr/lib/php/20190902/pdo_mysql.so.so (/usr/lib/php/20190902/pdo_mysql.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for nikic/php-parser v4.13.2 -> satisfiable by nikic/php-parser[v4.13.2].
    - nikic/php-parser v4.13.2 requires ext-tokenizer * -> the requested PHP extension tokenizer is missing from your system.
  Problem 2
    - Installation request for psy/psysh v0.11.1 -> satisfiable by psy/psysh[v0.11.1].
    - psy/psysh v0.11.1 requires ext-tokenizer * -> the requested PHP extension tokenizer is missing from your system.
  Problem 3
    - Installation request for tijsverkoyen/css-to-inline-styles 2.2.4 -> satisfiable by tijsverkoyen/css-to-inline-styles[2.2.4].
    - tijsverkoyen/css-to-inline-styles 2.2.4 requires ext-dom * -> the requested PHP extension dom is missing from your system.
  Problem 4
    - Installation request for phar-io/manifest 2.0.3 -> satisfiable by phar-io/manifest[2.0.3].
    - phar-io/manifest 2.0.3 requires ext-dom * -> the requested PHP extension dom is missing from your system.
  Problem 5
    - Installation request for php-parallel-lint/php-console-highlighter v0.5 -> satisfiable by php-parallel-lint/php-console-highlighter[v0.5].
    - php-parallel-lint/php-console-highlighter v0.5 requires ext-tokenizer * -> the requested PHP extension tokenizer is missing from your system.
  Problem 6
    - Installation request for phpunit/php-code-coverage 7.0.15 -> satisfiable by phpunit/php-code-coverage[7.0.15].
    - phpunit/php-code-coverage 7.0.15 requires ext-dom * -> the requested PHP extension dom is missing from your system.
  Problem 7
    - Installation request for phpunit/php-token-stream 4.0.4 -> satisfiable by phpunit/php-token-stream[4.0.4].
    - phpunit/php-token-stream 4.0.4 requires ext-tokenizer * -> the requested PHP extension tokenizer is missing from your system.
  Problem 8
    - Installation request for phpunit/phpunit 8.5.23 -> satisfiable by phpunit/phpunit[8.5.23].
    - phpunit/phpunit 8.5.23 requires ext-dom * -> the requested PHP extension dom is missing from your system.
  Problem 9
    - Installation request for theseer/tokenizer 1.2.1 -> satisfiable by theseer/tokenizer[1.2.1].
    - theseer/tokenizer 1.2.1 requires ext-dom * -> the requested PHP extension dom is missing from your system.
  Problem 10
    - tijsverkoyen/css-to-inline-styles 2.2.4 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - laravel/framework v6.20.44 requires tijsverkoyen/css-to-inline-styles ^2.2.1 -> satisfiable by tijsverkoyen/css-to-inline-styles[2.2.4].
    - Installation request for laravel/framework v6.20.44 -> satisfiable by laravel/framework[v6.20.44].

  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-mysqlnd.ini
    - /etc/php/7.4/cli/conf.d/10-opcache.ini
    - /etc/php/7.4/cli/conf.d/20-bcmath.ini
    - /etc/php/7.4/cli/conf.d/20-bz2.ini
    - /etc/php/7.4/cli/conf.d/20-curl.ini
    - /etc/php/7.4/cli/conf.d/20-gd.ini
    - /etc/php/7.4/cli/conf.d/20-imagick.ini
    - /etc/php/7.4/cli/conf.d/20-imap.ini
    - /etc/php/7.4/cli/conf.d/20-intl.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-mysqli.ini
    - /etc/php/7.4/cli/conf.d/20-pdo_mysql.ini
    - /etc/php/7.4/cli/conf.d/20-readline.ini
    - /etc/php/7.4/cli/conf.d/20-soap.ini
    - /etc/php/7.4/cli/conf.d/20-xmlrpc.ini
    - /etc/php/7.4/cli/conf.d/20-zip.ini
  You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.

But now i don't know how to go about trying to fix this problem

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文