Php 设置Laravel,获取PDO和权限问题
因此,在我的LinuxAWS实例上,我试图安装一个laravel应用程序,但遇到了大量的权限问题。 默认情况下,当我将项目克隆到var/www/时,所有者是Root。我将所有者更改为apache,并将ec2用户添加到apache。据我所知,这似乎是正确的。 在那里,我尝试运行php composer.phar安装,这导致了一个权限错误,除非我运行sudo,然后错误是“在/var/www/Mumble/app/config/database.php中找不到类'PDO'。Php 设置Laravel,获取PDO和权限问题,php,mysql,laravel,amazon-web-services,pdo,Php,Mysql,Laravel,Amazon Web Services,Pdo,因此,在我的LinuxAWS实例上,我试图安装一个laravel应用程序,但遇到了大量的权限问题。 默认情况下,当我将项目克隆到var/www/时,所有者是Root。我将所有者更改为apache,并将ec2用户添加到apache。据我所知,这似乎是正确的。 在那里,我尝试运行php composer.phar安装,这导致了一个权限错误,除非我运行sudo,然后错误是“在/var/www/Mumble/app/config/database.php中找不到类'PDO'。 因此,从那里看,似乎没有安
因此,从那里看,似乎没有安装PDO,所以我使用yum来安装它,这给了我典型的laravel错误日志,但它现在说“找不到驱动程序”。查看php信息,pdo是为mysqli配置的。这可能是我的问题吗?有人知道我可以在哪些地方查找资源吗?我想您需要授予访问权限,是否可以访问/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
注意:在继续之前,请阅读有关文件权限的信息。首先,最新版本的laravel是4.3,与PHP>=5.4兼容(来源:) 坏消息是,AWS上apache的yum软件包附带了PHP5.3。在ssh控制台中使用
php phpinfo()
检查php版本
如果您有正确的PHP版本,则必须确保PHP在用户apache
下运行
转到/etc/php.ini
并搜索参数user=
。确保上面写着user=apache
,以及group=apache
如果所有这些都已验证,则最后一步是确保您的
/app/storage
目录位于777
权限下,所有者为apache
。只有laravel将这些用于内部用途,所以这没关系。这不是一个很大的安全风险吗?(我对真正管理权限还不熟悉,我对这个项目的主要关注点是应用程序的安全性)这取决于你的情况谁能够读/写/执行权限。但是如果你担心安全性,将775用于目录或文件664好吧,我编辑了包含良好安全实践的命令,您可以查看权限问题:我了解您在此处列出的权限更改,这里的问题是www数据不是一个组。Apache以User=Apache,Group=Apache的身份运行。我将组更改为www数据,但从这里我真的不知道如何正确地将其添加到etc/Group。我看到有人在某处发布了这些命令,当我运行它时,我用apache代替www数据运行它,这是我的问题吗?