Articles of PHP的

php exec()命令权限被拒绝

我有一个C ++可执行文件'skypeforwarder'。 如果我在Macterminal中使用命令行,skypeforwarder的作品:henry $ /Users/henry/Desktop/skypeForwarder/skypekit-sdk_sdk-4.1.2.20_793394/examples/cpp/tutorial/step3/skypeForwarder sh: /Users/henry/Desktop/skypeForwarder/skypekit-sdk_sdk-4.1.2.20_793394/examples/cpp/tutorial/step3/skypeForwarder: Permission denied 但它总是发出“权限被拒绝”,如果它在php exec()中调用; <?php echo exec('whoami'); $output = null; $execBuild = '/Users/henry/Desktop/skypeForwarder/skypekit-sdk_sdk-4.1.2.20_793394/examples/cpp/tutorial/step3/'; $execBuild .= 'skypeForwarder'; $n = exec($execBuild, $output); 我搜查了很多。 问题应该是Web服务器的PHP /浏览器权限的问题。 我也试图改变文件的所有者: -rwxr-xr-x 1 henry staff 1212716 19 Apr 11:23 skypeForwarder 至 -rwxr-xr-x 1 _www staff 1212716 19 Apr 11:23 skypeForwarder 它仍然不起作用。 我根据http://foundationphp.com/tutorials/php_leopard.php在我的mac中设置了apache

通过FTP添加新文件时运行PHP脚本

我有多台摄像机通过FTP随机发送图像到预定的文件夹。 例如: 录制/相机1 /图像/ – 第一台相机 录制/相机2 /图像/ – 第二台相机 等等 每个人都以.jpg格式保存图像,然后closuresFTP连接。 每次添加新文件后,我都需要调用一个PHP脚本。 让我们说,每当一个新的图像被添加到/录音文件夹我需要调用PHP脚本 newimage.php?location=recordings/camera1/images/picture002.jpg 等等。 服务器是运行ProFTPD的Linux机器 我怎样才能做到这一点? 请注意:Cron作业不是一个选项,因为会有数千个文件,而且我们没有使用数据库。 所以我们不能确定是否有新的文件。

组织编程竞赛 – 如何编译和执行

我正在构build一个基于Web的界面,人们可以input简单的C代码来解决algorithm编程问题。 我使用Ace编辑器,人们可以input代码,当按下运行button,C代码被发送到服务器,编译和输出发回。 如何以安全的方式完成第二部分。 我的意思是给一个C代码文件,编译并执行它。 我不能相信代码,所以我如何确保它不是恶意的,不会伤害我的系统。 还有如何强加记忆和时间限制。 有没有现有的系统开源系统,我可以修改,以适应我的需要? 我没有find任何东西在我的search。 或者我应该如何继续下一步的一些指针? 编辑:findhttp://cs.sru.edu/~contest/rocktest/,并试图了解他们的代码,但仍然寻找更好的select,最好在PHP

如何通过PHP代码运行一个shell命令?

我试图在我的php代码的后端运行Jar文件。但我没有得到所需的输出到它。有一个jar文件,在后台运行,并返回任何关键字和域的网页排名给定到它。 我附上的代码,请给我任何解决scheme,因为当我在terminal上运行它,它是给出正确的输出。 代码如下: <?php set_time_limit(0); function returnJarPath() { $jarPath = $_SERVER['DOCUMENT_ROOT'] . "myFolder/tools_new/includes/Rank.jar"; return $jarPath; } $jar = returnJarPath(); $command = "java -jar $jar aspdotnet/microsoft.com";//Passing the Argument to the Jar file. $shellOutput = shell_exec($command); print "The Shell Output is : " ; var_dump($shellOutput);print "<br />"; exec($command,$executeCommmand); print "The Exec returns the value : " ; […]

在没有exec / passthru的情况下从PHP目录build立Tar文件

所以我有一个客户谁是当前主机不允许我使用通过exec()/ passthru()/ ect焦油,我需要定期备份和程序化网站,所以有解决scheme吗? 这是一个Linux服务器。

什么是保护数据库连接string的最佳方法?

我正在用PHP编写一组数据库驱动的应用程序。 这些应用程序将作为自己的用户在Linux服务器上运行。 其他用户有时可能会在系统上,但有非常受控制的访问。 其他服务器根本无法访问。 我还将向需要编写Perl脚本的开发人员展示一个限制存储过程API,这些脚本使用DBI和我编写的一组函数来访问数据库。 我的问题是什么是最好的方式来保护其中有连接string的configuration文件? 在文件上有[4+] 00权限的其他用户是否足够? 我应该encryption他们吗? 这似乎只是把问题转移到其他地方,所以我担心在哪里存储encryption密钥。 我意识到,Perl开发人员将需要有一个自己的连接string,因为他们将只有执行数据库的权限。

在命令行运行php代码

我刚开始学习PHP。 我已经在linux上安装了php5 ,并且编写了非常简单的代码。 我怎样才能运行脚本? 我尝试使用-f选项,但它作为一个cat命令,只是吐出代码到STDOUT 。 交互式解释器选项正常工作。 Web浏览器是执行PHP脚本的唯一方法吗?

如何有效地监视一个目录在Linux上的变化?

我正在与Magento合作,并且有一个将CSS和Javascript合并成一个大文件的函数。 不pipe利弊如何,都存在以下问题: 最终文件被caching在多个级别,包括但不限于: Amazon CloudFront 代理服务器 客户端浏览器caching Magento使用连接的CSS文件名的MD5总和为合并的CSS文件生成一个新的文件名。 所以每一个具有不同的css文件集合的页面都会得到一个合适的css文件。 要解决caching问题,我还将文件修改时间戳记包含在该散列中,以便每次生成一个新的散列时修改一个css文件。 所以非真实性caching得分的全部优点,但是如果有些东西被改变了,它就会立即可见,因为资源链接已经改变了。 到现在为止还挺好: 唯一的问题是,用于生成has的文件名只是通常在HTML-Head块中直接引用的文件名,并且不包括这些文件中的css导入 。 因此,在css文件中导入的文件的更改不会导致新的散列。 不,我真的不想recursionparsing所有的input和扫描他们或类似的东西。 我宁愿想一个基于目录的解决scheme。 有没有什么可以有效地监视文件系统基础上的“目录内的最后更改”? 我们正在使用ext4。 或者也许有另外一种方法,也许用find命令,它可以完成基于inode索引的所有工作? 类似的东西? 我看到很多程序可以在不扫描整个文件系统的情况下即时“查看”更改。 我相信在Linux下也有一些“文件操作监视”守护进程。 问题是,CSS目录是相当巨大的。 任何人都可以指向正确的方向吗?

shell_exec()在“ls”上返回null

所以我有这个代码,我只是试图做一个保存在另一个目录中,其中的PHP脚本是在xampp文件夹和保存到这个path/root/files/saves : <html> <body> <?php $output = shell_exec('ls /root/files/saves'); echo "<pre>$output</pre>"; ?> </body> </html> 我不知道为什么我不能得到它在一个var_dump似乎输出为空的工作我真的很迷惑它应该工作,或者我只是这一切都错了我需要一些帮助。

通过PHP在远程机器上执行命令

给我的环境背景: 我有3台机器A,B&C A = Web服务器,运行一个基本上充当B&C接口的PHP网站 B = Linux的Ubuntu机器,我有根访问,SSH和所有需要的善良,通过SSH客户端在机器上工作(我有这个服务器的.ppk私钥文件) C =运行在Linux上的MySql数据库服务器 我可以成功地从C(Mysql)上的A(php)执行查询并返回结果。 但现在即时通讯尝试从B上执行的Linux命令 例如。 我有一个运行在B上的脚本,并希望从A(php)执行一个命令来显示脚本的状态。 在命令行中这样做很简单 – ./SomeScript状态 但是我想在服务器A托pipe的网站上显示这个脚本的状态。 即使只检查服务器A上的服务器B的正常运行时间 无论如何,这是可能的。 我似乎永远GOOGLE了,但我没有得到任何地方,我不太分阶段,如果连接是安全的或不是因为这是一个封闭的networking,没有外部访问此networking。 任何build议将不胜感激。 谢谢