Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 设置Laravel,获取PDO和权限问题_Php_Mysql_Laravel_Amazon Web Services_Pdo - Fatal编程技术网

Php 设置Laravel,获取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'。 因此,从那里看,似乎没有安

因此,在我的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数据运行它,这是我的问题吗?