设置Laravel,获取PDO和权限问题

时间:2014-12-04 03:56:38

标签: php mysql laravel amazon-web-services pdo

所以在我的linux AWS实例上,我正在尝试安装一个laravel应用程序,并且遇到了大量的权限问题。 默认情况下,当我将项目克隆到var / www /时,所有者是Root。我将所有者更改为apache,并将ec2-user添加到apache中。从我所读到的,这似乎是正确的。 从那里,我试图运行php composer.phar install,这导致权限错误,除非我运行它sudo,然后错误是" Class' PDO'在/var/www/Mumble/app/config/database.php"中找不到。 所以从那里看起来似乎没有安装PDO,所以我用yum来安装它,这让我得到了典型的laravel错误日志,但它现在说"找不到驱动程序"。看看php信息,pdo配置为mysqli。这可能是我的问题吗?有人知道我可以寻找资源吗?

2 个答案:

答案 0 :(得分:0)

我怀疑您需要授予访问权限,是否可以访问/ var / www目录?

如果不试试这个,

sudo chmod -R 777 /var/www

安全权限使用775作为目录。

您可能需要设置权限:

          # Set group to www-data
           sudo chgrp www-data /var/www
          # Make it writable for the group
          sudo chmod 775 /var/www
         # Set GID to www-data for all sub-folders
          sudo chmod g+s /var/www
         # Add your username to www-data group
         sudo usermod -a -G www-data username
        # Finally change ownership to username
         sudo chown username /var/www/
        # Your account shouldn't have any more permission issues  

注意:在进一步阅读之前,请先阅读文件许可。

答案 1 :(得分:0)

首先,最新版本的laravel是4.3,与 PHP> = 5.4 兼容(来源:Laravel Installation)。

坏消息是,AWS上的yum yache软件包附带 PHP 5.3 。在ssh控制台中使用php phpinfo()检查您的php版本。

如果您拥有正确的PHP版本,则必须确保PHP在用户apache下运行。

转到/etc/php.ini并搜索参数user=。确保它显示为user=apachegroup=apache

如果所有这些检查完毕,您的最后一步是确保/app/storage目录的777权限属于apache。只有laravel将这些用于内部目的,所以它没问题。