PHP mkdir问题!
我试图创建一些这样的码: @mkdir("photos/$cat/$sku", 0777, true) 它可以使用0777权限创建第一个目录,但是当它创建第二个目录时,第二个目录是使用000的perms,因此未能创建第三个. 请做到这一点? 谢谢 理查德. 解决方案 这解决了问题: $a = @mkdir("photos/$cat/", 0777); @chmod("photos/$cat/", 0777); $b = @mkdir("photos/$cat/$sku/", 0777); @chmod("photos/$cat/$sku/", 0777); 但是为什么不能在mkdir上使用递归? 其他解决方案 我做了这一点,它的工作原理: if (!is_dir($path)) { $dirs = explode('/', $path); $i = 0;
0 2023-05-31
编程技术问答社区
PHP不能把含有PHP代码的文件当作文本文件来读
我已经偶然发现了以下特性: $ handle = fopen(realpath(" ../folder/files.php")," r"); 无法读取文件,但是一旦我从文件中删除PHP标签, 它变得可读性,我的脚本在页面上打印了非空文件内容. 另外,File.php从未执行过,所以我想知道为什么是问题. 我猜Apache或PHP不允许读取包含php标签的文件,只有文本. 如何为我的特定文件启用它(在全球范围内完成课程将是不安全的)? 使用PHP 5.2.x和Apache 2.0 解决方案 我明白了.我正在使用Google Chrome调试页面,并且意识到在查看源时,Chrome出于某种原因隐藏了PHP标签.我在Firefox上进行了相同的测试,并查看来源证明了一切都还好. 这是测试详细信息: 代码: $fh = fopen("test.php","r"); while ($line = fgets($fh)){ echo $line
0 2023-05-31
编程技术问答社区
在php浏览器内重启mysql,权限问题?
我想在网站上创建一个重新启动MySQL的按钮(我意识到这确实是个坏消息).我正在使用具有非常严格的用户权限的EC2. 这是我的PHP代码,但不是在重新启动会话. 这是我的Suders文件... Cmnd_Alias RESTART_MYSQL = /etc/init.d/mysqld restart mysql ALL =NOPASSWD: RESTART_MYSQL 这也不起作用... Cmnd_Alias RESTART_MYSQL = /etc/init.d/mysqld restart apache AL
0 2023-05-31
编程技术问答社区
如何实现论坛权限
我已经开始在我的MVC框架上开发PHP中的论坛应用程序,并且已经进入了将权限分配给会员的阶段(例如:读,写,更新,删除). 现在,我知道我可以在数据库中的用户表下方添加5列,然后将它们设置为1 | 0,但是对我来说,如果我想添加其他规则,例如移动,似乎太多了. 以及如何将这些特权分为单独地分配给用户? 我听说过使用bitmasks,但是如果我能在继续之前能够完全理解它们,那将是很好的. 您有一个示例,说明我如何实现此问题? 解决方案 您描述的方法 - 存储在列中的单个特权 - 以灵活性为代价(您注意到). Zuul的方法更简单,本质上与您的方法相同,只是避免了对任何" Alter Table"语句的需要.但是,它不是归一化的,不容易查询,也不是自我记录的. 这两种方法的另一个问题是,随着用户群的增长,您会发现越来越多的痛苦可以使每个人的特权设置正确.您会发现自己与许多需要完全相同特权的用户.但是,为了更改用户的特权,例如适应新的特权,您将不得不
0 2023-05-31
编程技术问答社区
在phpBB3中从PHP中创建一个论坛并设置权限
我正在尝试在现有论坛上创建一个新论坛.我可以很容易地创建新的论坛,并从管理员控制台中查看它.问题是我还需要它在前端出现.这是通过权限完成的. 因此,我试图做的是将父论坛(公开)的权限复制到我创建的论坛.但是,该论坛似乎仍然没有出现在公众面对面. 这是我的代码(请注意,phpbb包含文件之前已加载): // $forum_name = name of the new forum // $parent_id = the forum which this is a child of function create_forum($forum_name, $parent_id) { global $phpbb_root_path, $phpEx, $user, $auth, $cache, $db, $config, $template, $table_prefix; $response = array(); $data = array(
0 2023-05-31
编程技术问答社区
Laravel 5.5权限用户没有正确的角色
我正在尝试在管理用户没有分配角色的用例中找到解决方案. 在仪表板视图中,它不会为用户渲染URL,而如果我直接访问仪表板/用户,则获得: Spatie \ Permission \ Exceptions \ UnauthorizedException user does not have the right roles app/http/kernel.php protected $routeMiddleware = [ .... 'role' => \Spatie\Permission\Middlewares\RoleMiddleware::class, 'permission' => \Spatie\Permission\Middlewares\PermissionMiddleware::class, ]; 路由/web.php Route::group( ['middleware' => ['role:admin']]
0 2023-05-31
编程技术问答社区
file ... failed to open stream: 许可被拒绝
我正在为客户端应对一个网站,我已经在服务器上的整个站点夹住了,但它似乎可以工作. 现在,我已经将网站复制到他的服务器并试图付款(使用PayPal Pro),我获得了一个权限错误: `Warning: error_log(../PayPal.log) [function.error-log]: failed to open stream: Permission denied` 我尝试将权限更改为777的所有内容,此错误仍在继续. 我已经在Google上环顾了,在这里,我看到它可能与PHP设置有关(safemode或open_basedir>)是空的. 任何有主意的人? 解决方案 更新 在添加任何虚拟主机(甚至单个主机)时,必须在Apache中设置DocumentRoot. 该指令告诉Apache在哪里查找文件并映射网站的根源. DocumentRoot "/var/www/vhosts/www.example.com" 但是,仅该指令并不能访问
0 2023-05-31
编程技术问答社区
作用fopen:无法打开流:PHP中的权限被拒绝
我正在尝试通过PHP应用程序为我的网站创建XML站点地图.这个想法是创建一个新文件或覆盖现有文件.当我致电Fopen时,我会收到以下错误: [function.fopen]: failed to open stream: Permission denied 我试图写信给Webroot及其权限是:755.这意味着所有者已有书面许可,对吗?我需要做什么才能使我的脚本能够写入此文件夹? 777将是一件坏事,对吗?我可以以某种方式运行我的脚本吗? 谢谢. 正如您所说, 解决方案 是的,使用777可能是巨大的错误. Web服务器不与您使用的用户一起运行与创建文件和文件夹相同的用户. 您有一些选择: 将Sitemap创建作为Cronjob运行,使用具有Apache用户的用户,除了Apache用户外. 将站点地图放入另一个目录中,并设置a 302 Redirect或符号链接.在这种情况下,如果您有一个安全问题,让某人编写您的sitemap.xml,至少他们将无法创建
0 2023-05-31
编程技术问答社区
知道为什么我可以从命令行执行命令,但不能从PHP exec()执行命令吗?
好, 我进行了一些创造性的搜索,并且有点撞到了路障. 我正在尝试使用Linux程序" Sox".我试图从我的PHP脚本中调用它.如果我使用命令行,该脚本确实可以工作.但是,当我使用PHP Exec时,它不起作用. 示例: sox file1.mp3 file2.mp3 tempfile.mp3 -V3 (" V3"指定详细输出) 在命令行中执行为"用户x"或root时,我能够创建新文件.但是,当我执行命令为:
0 2023-05-31
编程技术问答社区
如何使.PHP文件只能被服务器访问?
我通过Godaddy Control Center创造了一个Cron工作. cron作业在文件夹" cron jobs"中. 我不希望任何人运行它,我应该如何设置文件夹的权限,以免公开打开,但仍然可以用于Cron Job? 取消选中的公开>阅读足以阻止任何人运行它吗? 解决方案 只需将文件放在Webroot/Document root文件夹之外. 其他解决方案 in .htaccess添加此. order deny,allow deny from all allow from 127.0.0.1 我包括了127.0.0.1的允许,因此可以从服务器运行,即Cron仍然可以运行. 其他解决方案 另一个可能的解决方案,如果将文件专门用作include()而不是由输入该网址输入的用户独立运行. . 将此代码放置在要阻止直接调用的文件顶部. if(basename($
0 2023-05-31
编程技术问答社区
mkdir()。权限被拒绝
我在服务器上的所有文件上都有777. php 5.4(无安全_mode) 网站在其他服务器上使用.这是yii框架 mkdir(): Permission denied /var/www/html/project/framework/web/CAssetManager.php(225) 213 return $this->_published[$path]; 214 elseif(($src=realpath($path))!==false) 215 { 216 $dir=$this->generatePath($src,$hashByName); 217 $dstDir=$this->getBasePath().DIRECTORY_SEPARATOR.$dir; 218 if(is_file($src)) 219 { 2
0 2023-05-31
编程技术问答社区
Laravel 5 '.未能打开流。Permission denied' 连接到localhost时出现异常。
已经设置了一个项目,并且在尝试连接到本地主机时,我会在控制台中获得此错误: [2015年8月12日星期三21:26:46] 127.0.0.1:50079 [500]:/- 带有消息的异常"意外事件"或文件 "/ct/storage/logs/laravel.log"无法打开:无法打开 流:允许拒绝' /ct/vendor/monolog/monolog/src/monolog/handler/streamhandler.php:87 堆栈跟踪: 0/ct/vendor/monolog/monolog/src/monolog/handler/AbstractProcessingHandler.php(37): 独白\ handler \ streamHandler->写(数组) 1/ct/vendor/monolog/monolog/src/monolog/logger.php(289):honolog \ handler \ AbstractProcessingHandler->
0 2023-05-30
编程技术问答社区
如何在管腔框架中获取中间件的当前路线?
我已经使用Lumen开发了API应用程序.以及访问权限控件.我想在中间件中获取当前路线.但是,我总是毫无疑问: $route = $request->route(); 我已经尝试在获取使用Lumen中间软件中的当前路由信息?使用RouteMiddleware和Dispatcher的哪个路由信息.但这仍然是返回的.我如何获得中间件上的当前路线? 非常感谢.. 解决方案 请更新您的管腔...一切都没有问题 namespace App\Http\Middleware; public function handle($request, Closure $next) { $route = $request->route(); $path = $request->getPathInfo(); // your code here return $next($request); } 其他解决方案 不幸的是,这是不可能的.至少它
0 2023-05-30
编程技术问答社区
如何修复错误 "致命错误。未捕获 -> Smarty:无法写入文件"?
我使用Digitalocean将Prestashop从Localhost迁移到网站域,但是当我打开此网站时,我会收到此错误 致命错误:未被教 - >聪明:无法编写文件/var/www/html/prestashop/cache/smarty/compile/compile/a4/36/f1/f1/wrt549a35e49b3b3b44444_777591243 prestashop/tools/smarty/sysplugins/smarty_internal_write_file.php在第46行. 我试图将Smarty文件夹上的权限更改为755,但它不起作用.我不知道如何修复它. 解决方案 您的问题绝对是关于权限的.这取决于如何设置Apache和PHP. 首先,检查谁拥有文件夹.例如,简单的Apache2和PHP安装作为www-data用户运行.例如,如果您使用"用户1"连接到FTP并将文件上传到那里,则文件由您拥有.该组也可能设置为"用户1". 因此
0 2023-05-30
编程技术问答社区
我如何给heroku上的特定文件夹赋予权限?
我正在尝试在Heroku上安装Thelia,但是我在文件夹上的权限有问题.如何以正确的方式制作Chmod? 这是我们的buildpack: https://github.com/fzaffo/heroku-buildpack-php/blob/master/bin/compile 我们得到了这个结果:chmod: 无法访问'/app/cache':没有这样的文件或目录 (似乎在/app中找不到文件夹) 这是测试: http://eglaan.herokuapp.com 感谢您的支持. 解决方案 您需要包括composer.json并从那里拍摄chmod命令: { "scripts": { "compile": [ "chmod -R 777 var/", "chmod 755 etc/", "chmod 644 etc/config.php" ] } }
0 2023-05-30
编程技术问答社区
通过浏览器拒绝卷曲的权限,在SSH上工作
昨天,我在Linux主机上更改了我的用户组/用户作为一组文件.今天,我发现卷发正在上升,拒绝了(仅在浏览器访问中,在SSH上工作) Couldn't send request: Failed to connect to : Permission denied 文件当前具有777个权限.但是我认为它与用户组/用户有关. ls-所有结果: -rwxrwxrwx. 1 baknealdi psaserv 533 May 18 05:14 check.php 列出的用户组; root:x:0: psaserv:x:504:apache,psaftp,psaadm,nginx psacln:x:505: 我已经在某个地方读到Selinux可能与之相关. sestatus结果: SELinux status: enabled SELinuxfs mount: /
0 2023-05-30
编程技术问答社区
文件权限;我的www-folder内容应该由www-data拥有吗?
这可能是一个菜鸟问题,但在任何地方都找不到答案. 我有一个问题,另一个文件权限问题 帮助我几乎解决了. 我在Linux( Danny )中创建了一个用户,该用户具有Sudo访问权限. 我还创建了一个新组,该组也为 Danny ,并将用户 Danny 添加到该组中. 该组具有sudo(root)访问. 我在 www 文件夹中都有所有文件和文件夹. 我有一个 php 的图像upload代码.此代码无法将图像上传到一个称为" Images "文件夹的文件夹,该文件夹在 www 文件夹下,除非我给出images文件夹 777 权限. 所以,我遵循了链接问题的答案,并弄清楚上载字样的用户按照" www-data ". 根据我发布的另一个问题的链接上的答案,我需要将 www-data 添加到一个小组...但是我被困在这里... 我应该添加哪个组?我应该从这里做什么? 任何提示都将受到赞赏. 顺便说一句,这是有关www-data和Danny 的一
0 2023-05-30
编程技术问答社区
为什么不为网站使用内置的MySQL用户和权限?
我已经搜索了很多有关加密主题,存储密码,设计安全的PHP脚本等的主题. 似乎有几个常见的主题: "不要尝试编写自己的加密脚本,使用现有库(例如phpass)." "不要为每个用户创建MySQL数据库,制作一个大数据库并编写一个很好的PHP脚本来管理您的用户,密码及其数据." 现在,是我,还是这两个似乎有点冲突? 让我们以这个例子为例.我想创建一个用户可以创建帐户的网站.他们可以添加敏感信息(例如他们的家庭地址),然后可以在网站上查看或编辑.此敏感信息不应公开,也不适用于网站的任何其他用户.它应该是"仅对用户的眼睛". 有一个单个管理员应该能够阅读敏感信息(例如,向每个客户发送一封信),但当然无法读取密码.如果认为有必要,则可以在本地完成.不允许管理员通过互联网访问. 可以采取一切预防措施使用最新版本,最佳实践等.网站可以从专用的机器上运行,该机器可以在物理上安全并且不能与任何其他任务共享. 那么,为什么不为网站的每个用户创建MySQL用户呢?当
0 2023-05-30
编程技术问答社区
为什么LinkedIn v2 Share API在任何v2/shares端点都会出现权限不足的错误?
当我致电任何V2 LinkedIn共享API端点时. 最近,我们的应用程序可以访问营销API,这就是我获得R_AD_CAMPAIGHS许可的方式. 共享API文档此错误将发生或我可能缺少哪些权限.是否有人能够成功地向此端点或类似/共享端点提出请求? 解决方案 尽管从文档中不清楚,但LinkedIn API是私人的.您需要向他们索取授权: >
0 2023-05-30
编程技术问答社区
在数据库中存储应用程序的权限
我正在为我们的公司开发一个应用程序,最终将有很多方法将用户限制在特定部分/模块上.虽然应用程序仍然很小,但我想转到一种新的存储权限的方法,随着应用程序的增长,该权限将保持易于维护和查询. 当前在我们的MySQL数据库中,我们有一个名为"用户"的表,该表存储用户的ID,用户名和密码.在一个称为" user_acl"的单独表中,如下: user_acl_id acl_root acl_news_read acl_news_write acl_news_modify acl_reports_read acl_reports_write acl_reports_modify acl_users_read acl_users_write acl_users_modify 我们目前只有3个模块,但是随着时间的流逝,将创建更多的模块,并且需要添加每个模块. 而不是为每次许可创建列,是否有其他方法或存储此信息? 解决方案 我会这样做. table name: perm
0 2023-05-30
编程技术问答社区