PHP - 设置所有权后获取“无法打开流:权限被拒绝”错误

问题描述 投票:0回答:1

我正在尝试使用pear的邮件类,但是我的脚本没有权限访问我安装的主文件夹中的Mail.php,并且我已经在它需要访问的文件上正确执行了chown命令,这里是我的php脚本是什么样的:

<?php

require_once "/home/ec2-user/pear/share/pear/Mail.php";

if (isset($_GET['trade']))
{

我得到的错误是:

Warning:  require_once(/home/ec2-user/pear/share/pear/Mail.php): failed to open stream: Permission denied in /var/www/html/newslookup/email.php on line 5
Fatal error:  require_once(): Failed opening required '/home/ec2-user/pear/share/pear/Mail.php' (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/html/newslookup/email.php on line 5

这是为了表明我安装了梨,并且我已正确执行了chown命令:

[ec2-user@ip-172-31-90-218 ~]$ pwd
/home/ec2-user

[ec2-user@ip-172-31-90-218 ~]$ sudo chown -R ec2-user:apache pear   // here 

[ec2-user@ip-172-31-90-218 ~]$ ls -alrt
total 32
-rw-r--r--  1 ec2-user ec2-user  231 Jul 27  2018 .bashrc
-rw-r--r--  1 ec2-user ec2-user  193 Jul 27  2018 .bash_profile
-rw-r--r--  1 ec2-user ec2-user   18 Jul 27  2018 .bash_logout
drwxr-xr-x  3 root     root       22 Jan 29 02:19 ..
-rw-------  1 ec2-user ec2-user 2067 Feb 17 22:24 .viminfo
drwxrwxr-x  3 ec2-user ec2-user   19 Mar 25 20:44 .local
drwxrwxr-x  3 ec2-user ec2-user   22 Mar 25 20:44 .config
drwxrwxr-x  3 ec2-user ec2-user   22 Mar 25 20:44 .cache
drwx------  2 ec2-user ec2-user   80 Mar 25 21:49 .ssh
-rw-------  1 ec2-user ec2-user 9997 Apr 11 18:50 .bash_history
-rw-rw-r--  1 ec2-user ec2-user  611 Apr 12 14:18 .pearrc
drwx------  8 ec2-user ec2-user  193 Apr 12 14:18 .
drwxrwxr-x 10 ec2-user apache    122 Apr 12 14:19 pear  // as you can see my pear folder has the correct permissions.

[ec2-user@ip-172-31-90-218 ~]$ cd pear
[ec2-user@ip-172-31-90-218 pear]$ ls
bin  cfg  data  docs  man  php.ini-gopear  share  tests  www

[ec2-user@ip-172-31-90-218 pear]$ cd share
[ec2-user@ip-172-31-90-218 share]$ ls
pear

[ec2-user@ip-172-31-90-218 share]$ cd pear
[ec2-user@ip-172-31-90-218 pear]$ ls -alrt
total 108
drwxrwxr-x  3 ec2-user apache    18 Apr 12 14:18 ..
drwxrwxr-x  3 ec2-user apache   108 Apr 12 14:18 .channels
drwxrwxr-x  2 ec2-user apache    21 Apr 12 14:18 Archive
drwxrwxr-x  2 ec2-user apache    24 Apr 12 14:18 Console
drwxrwxr-x  3 ec2-user apache    36 Apr 12 14:18 Structures
drwxrwxr-x  2 ec2-user apache    22 Apr 12 14:18 XML
drwxrwxr-x  2 ec2-user apache    23 Apr 12 14:18 OS
-rw-rw-r--  1 ec2-user apache 20562 Apr 12 14:18 System.php
-rw-rw-r--  1 ec2-user apache  1049 Apr 12 14:18 peclcmd.php
-rw-rw-r--  1 ec2-user apache 35467 Apr 12 14:18 PEAR.php
-rw-rw-r--  1 ec2-user apache 15052 Apr 12 14:18 pearcmd.php
drwxrwxr-x 11 ec2-user apache  4096 Apr 12 14:18 PEAR
drwxrwxr-x  5 ec2-user apache   214 Apr 12 14:21 .registry
drwxrwxr-x  2 ec2-user apache   126 Apr 12 14:21 Mail
-rw-rw-r--  1 ec2-user apache     0 Apr 12 14:21 .lock
-rw-rw-r--  1 ec2-user apache  7542 Apr 12 14:21 .filemap
-rw-rw-r--  1 ec2-user apache     0 Apr 12 14:21 .depdblock
-rw-rw-r--  1 ec2-user apache  2727 Apr 12 14:21 .depdb
-rw-rw-r--  1 ec2-user apache  9878 Apr 12 14:40 Mail.php    // Mail.php should be accessible by my script. 
drwxrwxr-x 11 ec2-user apache   282 Apr 12 14:40 .

该脚本通过JavaScript运行,单击按钮。

任何人都可以告诉我为什么我会在执行chown命令后获得权限错误?

php email pear
1个回答
2
投票

我将把它移到一个答案,因为看起来这是通过双重检查日志解决你的问题。

chmod -R 755 pear

Chmod 755为文件设置了755权限。 755表示所有者的完全权限以及其他人的读取和执行权限。

换句话说,仅仅因为你是所有者并不意味着你拥有权限。

© www.soinside.com 2019 - 2024. All rights reserved.