安装Slim、PHP、Ubuntu

安装Slim、PHP、Ubuntu,php,slim,Php,Slim,我试图在Ubuntu上的本地LAMP服务器上安装Slim,但我被卡在了第二垒。 从我的教程和在线提供的各种文档中: 现在您可以访问composer命令。如果我去 打开终端并输入: $ composer Composer version b474944155429eb4cce186c746d55287ee6bb3f4 Usage: [options] command [arguments] 下一步是将Slim指定为应用程序所需的软件包。 这可以通过根目录中的composer.json文件来实现

我试图在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";
});
?>
然后浏览器返回:

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

致命错误:require():无法在/var/www/slim/index.php第2行打开所需的“vendor/autoload.php”(include_path=”。:/usr/share/php:/usr/share/pear)。您需要运行

composer install
从终点站。之后,添加

$app->run();

在index.php.

好吧,你的帖子里似乎有不止一个问题,但不管怎样

  • “我的项目的根在哪里?”
  • 如果尚未更改主机/Apache设置,则项目的根目录应位于
    /var/www

    然后是你的第二个问题,我将冒昧地重新措辞:)

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

    composer install
    
  • 这应该安装在composer.json中定义的包,它应该位于同一web根目录中。
    如果一切都是面向对象的,那么您将在以下目录中找到一个新目录:
    /var/www/vendor

    现在,转到web根目录,创建
    index.php
    ,并在其开头添加以下行:


    移动到askubuntu的候选用户?您需要运行
    composer install
    。运行composer install,致命错误已修复,但浏览到localhost/slim,我会看到404页?您尚未为/slim定义路由,仅为slim/hello。如果转到localhost/slim/hello/fred,会发生什么?您可能需要一个.htaccess文件来重写对index.phpy的所有请求。根据文档,您还应该有一个$app->run()行。
    composer install
    
    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  ...