gpt4 book ai didi

php - 使用 phar 打包和部署 Yii2 Advance 应用程序

转载 作者:可可西里 更新时间:2023-11-01 10:16:01 25 4
gpt4 key购买 nike

通过引用this这个链接我已经成功打包了我的简单 PHP 应用程序。现在我想打包(创建 .phar 文件)我的整个 Yii2 Advance 应用程序以将其部署到服务器上。

我已按照上述链接中给出的所有步骤进行操作,但是当我运行它时出现此错误:

Warning: require(phar://D:/www/myphartest.phar/../../vendor/autoload.php): failed to open stream: phar error: "vendor/autoload.php" is not a file in phar "D:/www/myphartest.phar" in phar://D:/www/myphartest.phar/index.php on line 5

Fatal error: require(): Failed opening required 'phar://D:/www/myphartest.phar/../../vendor/autoload.php' (include_path='phar://D:\www\myphartest.phar;.;C:\php\pear') in phar://D:/www/myphartest.phar/index.php on line 5

以下是我的结构:

D:\www\myphartest

  • 构建(目录)

    • 配置文件
    • myphartest.phar
  • src(目录)

    • [在 src 下 => 我的 yii2 高级应用程序文件和文件夹]
  • 创建-phar.php(文件)

这是我的 config.ini(在构建和 www 目录中)

[database]
host=localhost
db=mydb
user=root
pass=root

我在src目录下添加了index.php

<?php
require_once "phar://myphartest.phar/backend/web";
$config = parse_ini_file("config.ini");
AppManager::run($config);

run.php(在 www 内)

<?php
require "myphartest.phar";

如有任何帮助,我们将不胜感激。

最佳答案

我建议使用 box创建 PHAR 的。它可以正常工作 :),如果您愿意,还可以提供其他功能。

它可以通过 3 个简单的步骤使用:

  • 下载 box.phar,参见 box readme
  • 创建配置文件box.json,见下面的例子
  • 运行 php box.phar build --verbose(详细查看进入 phar 的文件列表)

示例配置:

{
"alias": "main.phar",
"chmod": "0755",
"directories": [
"src"
],
"files": [
"README.md",
"LICENSE"
],
"finder": [
{
"name": "*.php",
"exclude": [
"tests",
"Tests"
],
"in": "vendor"
}
],
"git-version": "package_version",
"main": "bin/main.php",
"output": "main.phar",
"stub": true
}

您可以丢弃大部分选项。只需为box 知道在你的 phar 里放什么。

我已经用基于 Yii2 的控制台程序试过了 - 工作正常!

关于php - 使用 phar 打包和部署 Yii2 Advance 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39405353/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com