由于某种原因,ftp_connect()函数不起作用,当我尝试使用它时,它以致命错误结束,声明此函数未定义...令人惊讶的是我仍然可以使用ftp客户端或使用ftp连接通过终端。我怎么能解决这个问题?
我在Mountain Lion上运行,我有5.3 php版本 - 我曾经重新安装它,希望这可以解决我的问题。
答案 0 :(得分:6)
听起来你的PHP没有安装--enable-ftp
或者你的php.ini中禁用了ftp模块。
要检查是否启用了ftp,请创建一个这样的页面并浏览到它:
<?php
phpinfo();
?>
查找“ftp support”,它应标记为“enabled”。
答案 1 :(得分:3)
Check PHP FTP installation manual
On PHP 7, You can enable it by adding this line to the php.ini file.
extension=php_ftp.dll
答案 2 :(得分:0)
我发现(至少对于PHP的更高版本而言),LubošTurek的答案基本上是正确的。至少在Windows上,您不需要(或不需要)“。dll”后缀。
非常奇怪的是,PHP.INI默认配置文件甚至没有包含注释行:
;extension=php_ftp
因此,正如Luboš所说,添加:
extension=php_ftp
可以使用INI。也就是说,请检查您的 ext 文件夹,以确保存在FTP扩展名。
答案 3 :(得分:0)
我找到了解决方案,对我来说我有PHP 5,现在我有PHP7。出现此错误。做这个: 打开 PHP.INI 搜索: allow_url_include =关闭 将关闭更改为打开: 像这样: allow_url_include =启用
重新启动Wamp服务器上的所有服务
答案 4 :(得分:0)
我来这里是为了寻找答案,并通过如下更改php.ini中的设置来修复我的问题。我删除了ftp扩展行(位于底部)上的前导分号。
; - Many DLL files are located in the extensions/ (PHP 4) or ext/ (PHP 5+)
; extension folders as well as the separate PECL DLL download (PHP 5+).
; Be sure to appropriately set the extension_dir directive.
;
extension=bz2
extension=curl
;extension=dba
extension=com_dotnet
;extension=enchant
extension=fileinfo
extension=ftp
答案 5 :(得分:0)
答案 6 :(得分:-1)
我遇到了同样的问题,我修复了它禁用防病毒软件或将apache服务器添加到异常中。