- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
问题的简短版本:
有什么区别get_current_user();
和 exec('whoami');
?
问题的长版:
我得到了这个错误:
file_put_contents(PDOErrors.txt): failed to open stream: Permissiondenied...
所以我做了一些调查,似乎要解决这个问题,我需要将文件 PDOErrors.txt 的 CHMOD
设置更改为 777。
但是,我的问题是关于别的东西。在这个过程中,我意识到我对Apache、PHP 和MySQL 中user
的概念理解不清楚。
get_current_user()
“获取当前PHP 脚本所有者的名称” Link exec('whoami')
返回“拥有正在运行的php/httpd 进程的用户名” Link get_current_user()
时,我得到了我的 firstnamelastname
,这是我在 Mac 上的帐户名。exec('whoami')
时,我得到了 daemon
。所以...
firstnamelastname
和 daemon
之间有什么关系?firstnamelastname
还是 daemon
?root
帐户的概念是否考虑到了这里的任何地方?编辑:我更新了它以反射(reflect)它不是我必须更改 CHMOD 设置的 folderxyz。我必须更改文件 PDOErrors.txt
的设置OP 在这里:为了将来引用,我在这里提出了一个关于 Linux 平台的平行问题(伴随着对正在发生的事情的直观解释):https://stackoverflow.com/questions/31389892/why-is-the-output-www-data-in-one-case-and-root-in-another
更新:那个问题被删除了,因为它被认为是这个问题的重复(尽管那是针对 Linux 平台的,而不是 daemon
我得到的是 www-data
在执行 echo exec('whoami');
之后。
这是我在 Linux 论坛上提出这个问题后学到的:
the running process is different than the script. Yes, the process emerges from the script, but it's not the same thing. The script is owned by root, but the process is taken over by Apache and is run as www-data.
总体结论:我从这个过程中了解到,user 应该是 Apache daemon(Mac 本地主机)或 www-data(互联网服务器上的 Linux)并且我应该使用 exec('whoami')
来确定这一点,我不应该太在意 get_current_user()
(可能应该命名为 get_current_owner()
)。
最佳答案
get_current_user()
(应该)返回文件的所有者,在本例中为 firstnamelastname
。然而,已报告此功能在平台之间不一致的问题。因此,我不会相信它的输出。 daemon
是 Apache 运行的用户。ls -la
以查找文件所属的用户和组。firstnamelastname
(+rw
)。daemon
和 PHP 文件设置 +rx
(执行和读取)+r
(读)。在我安装 XAMMP 时,他们通过将 htdocs
中的所有内容设置为公共(public)可读来完成此操作,因此 daemon
可以读取它,但不能写入它。htdocs
或 www
目录。它填补了传统 unix root 用户的角色。以下是有关文件所有者/组和进程所有者的一些信息:
host:~$ ls -l /Applications/XAMPP/xamppfiles/htdocs
drwxr-xr-x 3 root admin 4096 2015-01-01 00:01 .
drwxr-xr-x 3 root admin 4096 2015-01-01 00:01 ..
-rw-r--r-- 1 firstnamelastname admin 189 2015-01-31 20:45 index.php
host:~$ ps aux | grep httpd | head -n1
daemon 45204 0.0 0.1 2510176 10328 ?? S Tue11AM 0:01.38 /Applications/XAMPP/xamppfiles/bin/httpd -k start -E /Applications/XAMPP/xamppfiles/logs/error_log -DSSL -DPHP
如果你想让守护进程用户可以写入一个文件,你可以创建一个新文件夹并将其命名为拥有组 admin
的所有者(这样你也可以使用它),然后给+rwx
用于用户和组,+rx
用于公共(public):
host:~$ cd /Applications/XAMPP/xamppfiles/htdocs
host:htdocs$ mkdir some_dir
host:htdocs$ chmod 775 some_dir
关于PHP:get_current_user() 与 exec ('whoami' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28548743/
这可能是一个“Python Web 编程 101”问题,但我对 aeoid 项目 ( http://github.com/Arachnid/aeoid ) 中的一些代码感到困惑。这是代码: _curr
问题的简短版本: 有什么区别get_current_user(); 和 exec('whoami'); ? 问题的长版: 我在 Mac 上的 XAMPP 本地主机上。 我正在使用 Apache,构建一
我今天早上刚学了 PHP,我正在编写一个简单的 PHP 脚本,我计划将其用于每天的计划任务。该脚本运行良好,但对于我稍后要添加的某些功能,我想使用 get_current_user() 函数。 我的问
我需要通过 Tornado 上运行的应用程序中的 cookie 对用户进行身份验证。我需要解析 cookie 并使用 cookie 内容从数据库加载用户。查看 Tornado RequestHandl
我正在尝试获取 Google App Engine 应用程序中的当前用户对象,但它似乎没有返回任何内容。 我使用了 https://github.com/takatama/gae-webapp2-au
我很难找到有关在我的 GAE 应用程序中使用 OAuth2 的明确答案。首先,这不是端点应用程序,只是一个普通的旧 python 应用程序。 如果在我的应用程序中使用 OAuth 端点,我可以获得 o
我正在使用中间件在我的 View 和模型中获取当前登录的用户。例如,这有助于我仅返回创建或分配给登录用户的对象。请关注此 link查看我使用的中间件。 我称这个中间件为: get_current_us
这行代码: geted_nickname = user.nickname() 这个处理程序的: class MainHandler(webapp2.RequestHandler):
这是我的代码 def subscribe_current_user(self): user1 = SocialNodeSubscription(parent=self.key)
我正在尝试将 UserID 存储在 Google App Engine (Python) 的 session 变量中。 session 变量功能运行良好。事实上,我什至可以将 key 存储在 sess
我正在开发一个基于 Google App Engine(Webapp2/Python 和 ndb)的网络应用程序。我正在使用 Google OAuth2 身份验证,并将通过 users.get_cur
我在我的 app.yaml 配置文件中为 GAE 应用程序使用“登录”选项。看起来像这样: - url: /admin/.* script: myapp.app login: admin -
我正在开发用 Python 编写并使用 Endpoints API 的 Google App Engine 应用程序。同时,我正在编写一个 Chrome 扩展来与 Endpoints API 交互。我
我是一名优秀的程序员,十分优秀!