CakeFest 2017 NYC, the Official CakePHP Conference

Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Opções de configuração do Filesystem e Streams
Nome Padrão Modificável Changelog
allow_url_fopen "1" PHP_INI_ALL PHP_INI_ALL no PHP <= 4.3.4. PHP_INI_SYSTEM no PHP < 6. Disponível desde o PHP 4.0.4.
allow_url_include "0" PHP_INI_ALL PHP_INI_SYSTEM no PHP 5. Disponível desde o PHP 5.2.0.
user_agent NULL PHP_INI_ALL Disponível desde o PHP 4.3.0.
default_socket_timeout "60" PHP_INI_ALL Disponível desde o PHP 4.3.0.
from "" PHP_INI_ALL  
auto_detect_line_endings "0" PHP_INI_ALL Disponível desde o PHP 4.3.0.

Uma rápida explicação das diretivas de configuração.

allow_url_fopen boolean

Esta opção ativa o dispositivo URL fopen wrappers que permite o acesso a objetos URL como arquivos. São disponibilizados por padrão wrappers para acesso de arquivos remotos utilizando os protocolos FTP ou HTTP, e algumas estensões como a zlib podem registar wrappers adicionais.

Nota:

Esta definição pode ser definida apenas no php.ini devido a motivos de segurança.

Nota:

Esta opção foi introduzida imediatamente antes da liberação da versão 4.0.3. Até essa versão e incluindo a 4.0.3, você somente podia desabilitar este recurso na compilação, usando a opção --disable-url-fopen-wrapper.

Aviso

Nas versões Windows anterioes a PHP 4.3.0, as funções seguintes não suportavam acesso de arquivos remotos: include, include_once, require, require_once e as funções imagecreatefromXXX da extensão Funções da GD.

allow_url_include boolean

Esta função permite o uso de wrappers URL com as seguintes funções include, include_once, require, require_once.

Nota:

Esta definição requer que allow_url_fopen esteja on.

user_agent string

Define o user agent que o PHP irá enviar.

default_socket_timeout integer

Timeout padrão (em segundos) para streams baseados em socket.

Nota: Esta opção de configuração foi incluida no PHP 4.3.0.

from string

Define a senha do FTP anonimo (seu endereço de e-mail).

auto_detect_line_endings boolean

Quando ativo, o PHP irá examinar os dados lidos por fgets() e file() para verificar se está sendo utilizado a convensão de fim de linha Unix, MS-DOS ou Macintosh.

Isto ativa a interoperabilidade do PHP com sistemas Macintosh, mas seu padrão é Off, porque isso causa uma pequena perda de performance na detecção da convenção de fim de linha num primeiro momento e porque as pessoas que utilizam o fim de linha como separadores de itens sob sistemas Unix podem experimentar problemas de falta de compatibilidade.

Nota: Esta opção de configuração foi introduzida no PHP 4.3.0.

add a note add a note

User Contributed Notes 5 notes

up
81
Pistachio
5 years ago
I'm surprised this isn't mentioned in docs here, but to set these values at runtime use "ini_set()". For example:

<?php
ini_set
("auto_detect_line_endings", true);

// Now I can invoke fgets() on files that contain silly \r line endings.
?>
up
0
traian dot bratucu at gmail dot com
13 days ago
Please note that although you may try to set default_socket_timeout to something over 20s, you may get tricked by the Linux kernel.

The default value of tcp_syn_retries is set to 5, which will effectively timeout any TCP connection after roughly 20s, no matter what limits you set in PHP higher than this.

The value can be altered by root only, like this:

echo 6 > /proc/sys/net/ipv4/tcp_syn_retries

A value of 6, as above, will give you a timeout up to ~45s.
up
0
bimal at sanjaal dot com
11 months ago
Using CURL may be useful if file_get_contents to URLs is not working.
up
-4
Steve
10 months ago
NOTE that setting 'auto_detect_line_endings' to true also affects exec() on Windows: the array &$output will technically still be filled with every line of output from the command, but instead contain all output as a single line in $output[0]!
up
-59
Snow IT
5 years ago
Just a quick note: setting default_socket_timeout to zero causes file_get_contents(<url>) to immediately fail.

We were under the (false) impression that zero meant never time out.
To Top