Gil*_*ino 6 php apache ftp centos
我一直在尝试制作一些脚本,通过FTP从我在CentOS的localhost Apache下载文件,我无法让它工作!
我使用的代码是任何基本ftp请求使用的代码:
<?php
$ip= FTP_IP_HERE;
$port='21';
$timeout='90';
$un='username';
$pw='password';
// Connect to ftp
$conn_id = ftp_connect($ip,$port,$timeout);
// Open a session to an external ftp site
$login_result = ftp_login ($conn_id, $un, $pw);
// Check open
if ((!$conn_id) || (!$login_result)) {
print "FTP connection failed!";
exit();
}
// turn on passive mode transfers
if (ftp_pasv($conn_id, true) == FALSE) {
print "Passive FTP connection failed!";
exit();
}
Run Code Online (Sandbox Code Playgroud)
我在远程服务器上尝试了相同的脚本,它工作正常!我不确定是否要进行任何apache配置,或者本身是否有PHP限制.
更新:
这是错误日志:
Warning: ftp_login() expects parameter 1 to be resource, boolean given in /var/www/html/ftp/FTP.php on line 16
Warning: ftp_get() expects parameter 1 to be resource, boolean given in /var/www/html/ftp/FTP.php on line 22
Falha ao enviar o arquivo test.pdf<br />Array
(
[type] => 2
[message] => ftp_get() expects parameter 1 to be resource, boolean given
[file] => /var/www/html/ftp/FTP.php
[line] => 22
)
Warning: ftp_close() expects parameter 1 to be resource, boolean given in /var/www/html/ftp/FTP.php on line 30
Run Code Online (Sandbox Code Playgroud)
好的,我有同样的问题,我找到了解决方案.将它发布在这里以帮助他人.
我的PHP脚本会失败,但我可以通过命令行轻松FTP.我验证我的防火墙没有阻止脚本,我的日志中没有得到任何PHP错误...
搜索后,看来我的问题是SELinux.我不想把它关掉所以我检查了状态httpd_can_network_connect.
通过运行检查您的状态:
getsebool httpd_can_network_connect
Run Code Online (Sandbox Code Playgroud)
如果你得到:
httpd_can_network_connect --> off
Run Code Online (Sandbox Code Playgroud)
这可能是你的问题.
注意:
如果您已经拥有on:
httpd_can_network_connect --> on
Run Code Online (Sandbox Code Playgroud)
要么
SELinux is disabled
Run Code Online (Sandbox Code Playgroud)
那么这不会解决你的问题......祝你好运找到解决方案.
修复
httpd_can_network_connect通过运行启用:
setsebool httpd_can_network_connect=1
Run Code Online (Sandbox Code Playgroud)
再次测试您的脚本,看它是否有效.这对我有用,所以我确保设置一个策略来保持启用.
setsebool -P httpd_can_network_connect=1
Run Code Online (Sandbox Code Playgroud)
注意:-P设置策略以使其在重新启动时保持不变
| 归档时间: |
|
| 查看次数: |
19149 次 |
| 最近记录: |