2

我正在尝试在 Ubuntu 上的本地 LAMP 服务器上安装 Slim,但我卡在了第二个基地。从我的教程和在线找到的各种文档中:

您现在可以访问 composer 命令。如果我去终端输入:

$ composer
Composer version b474944155429eb4cce186c746d55287ee6bb3f4

Usage:
[options] command [arguments]

下一步是将 Slim 指定为您的应用程序所需的包。这可以通过项目根目录中的 composer.json 文件来完成。

我的项目的根在哪里?我以为会

/var/www/slim

我尝试将 composer.json 添加到:

/var/www/slim

并站在 /slim 中定义一个 index.php 脚本:

<?php
require 'vendor/autoload.php';
$app = new \Slim\Slim();
$app->get('/hello/:name', function ($name) {
echo "Hello, $name";
});
?>

http://localhost/var/www/slim

浏览器返回:

警告:require(vendor/autoload.php):打开流失败:第 2 行的 /var/www/slim/index.php 中没有这样的文件或目录

致命错误:require():无法在 /var/www/slim/index.php 中打开所需的 'vendor/autoload.php' (include_path='.:/usr/share/php:/usr/share/pear') 2号线

4

2 回答 2

1

好吧,您的帖子中似乎有不止一个问题,但无论如何......

  1. “我的项目的根源在哪里?”

/var/www如果您没有更改主机/Apache 设置,则项目的根目录应该在其中。

然后到你的第二个问题,我会冒昧地改述一下:)

  1. “如何创建您的 Web 应用程序,并在其中包含 composer 安装的包?” 转到您各自的网络根目录,可能在您的情况下/var/www并在其中创建"index.php". 然后,在控制台中,运行以下命令:

    composer install
    

这应该安装 composer.json 中定义的包,它们应该在同一个 web 根目录中。
如果一切都进行了 OO,您将在以下新目录中拥有:/var/www/vendor

现在,转到您的 web-root 目录并index.php 在其中创建您的和,在开头添加以下行

require 'vendor/autoload.php';
// to load all the packages installed with composer, not only slim. If 
//composer was run in the right directory and w/o problems of course :)

 $app = new \Slim\Slim();
// to instantiate Slim script instance and assign it to the pointer $app
$app->get('/hello/:name', function ($name) {
echo "Hello, $name";
})
//to create your 1st route  ...
于 2015-01-29T19:50:44.440 回答
0

你需要跑

composer install

从终端。之后,添加

$app->run();

在 index.php 中。

于 2015-01-16T16:20:45.610 回答