O que significa.: No php include_path?

10

Estou tentando instalar o Zend em uma máquina executando o xampp. O arquivo de ajuda do Zend diz que, para configurar as ferramentas de linha de comando, preciso garantir que o conteúdo do diretório / library seja colocado dentro do meu diretório especificado php include_path.

Quando olho para o meu php.ini, o include_path é comentado, mas o valor se parece com isso:

; UNIX: "/path1:/path2"
;include_path = ".:/php/includes"

Onde exatamente o caminho_inclui está apontando? Eu sou bastante novo no Linux e nunca vi.: Como parte de um caminho de arquivo.

EmmyS
fonte
2
Você mencionou "um xampp funcionamento da máquina" Você pode querer removê-lo e instalar lâmpadas de servidor em vez que é um pacote no Ubuntu
Marco Ceppi
1
Por quê? O xampp funciona perfeitamente bem.
Emmys
2
O metapacote do servidor da lâmpada do Ubuntu (tasksel → LAMP Server) é uma distribuição da pilha de lâmpadas projetada para funcionar especialmente bem com o ubuntu . Você pode usar o xampp, é claro - e funcionará bem, mas a distribuição (versão) do Ubuntu é recomendada (e necessária se você quiser usar o suporte corporativo da canonical).
Stefano Palazzo

Respostas:

4

: é um separador na lista de diretórios.

. significa o diretório atual

Portanto, quando um script php estiver procurando por um arquivo de inclusão, ele parecerá o mesmo diretório que o arquivo php e / php / includes.

misterben
fonte
Portanto, o caminho atualmente inclui dois diretórios - o atual (pelo qual eu suponho que você queira dizer o diretório que realmente contém o php.ini) e / php / includes? Onde está o / php / includes (no que diz respeito a esse caminho)? Dentro do diretório atual? Ou em outro lugar?
Emmys
Quase, . é o diretório atual relativo a cada arquivo php específico, não o php.ini. / php / includes é um caminho absoluto, à espera de uma pasta de nível superior 'php' em seu sistema de arquivos (no mesmo nível como / usr, / etc)
misterben
7

.:é realmente apenas .(já que :é a palavra-chave que separa vários caminhos), o que significa que a pasta atual em que o script está sendo executado é incluída como parte do caminho_incluir. Dessa forma, quando você tiver dois arquivos no mesmo diretório:

index.php
include-me.php

Você pode incluir o segundo no PHP com include('include-me.php');. Sem .estar no caminho, você não seria capaz de fazê-lo.

Portanto, para concluir a instalação conforme mencionado, você precisará colocar o conteúdo /libraryna mesma pasta em que o script está trabalhando - ou dentro /php/includes(Concedido que você remove o ;arquivo ini). Você também pode criar outro diretório - como /opt/Zend/librarye adicionar /opt/Zend/libraryà sua instrução include path:include_path = ".:/php/includes:/opt/Zend/library"

Por fim - como você está executando o Ubuntu, é recomendável usar a instalação do LAMP do Ubuntu (quase toda a documentação pressupõe que você esteja usando). Isso pode ser instalado removendo o XAMPP e executando o sudo tasksel install lamp-serverque instalará o Apache 2.2, MySQL, PHP 5.3 no sistema. Conforme abordado em Qual é a maneira mais fácil de configurar uma pilha LAMP?

Marco Ceppi
fonte
1
Estou perfeitamente feliz com o xampp. Eu aprecio as outras informações, no entanto.
Emmys
@EmmyS Tudo bem: D - Acabei de incluir minha resposta ao seu comentário "Por que" na minha resposta. Só quero ter certeza de que você está informado.
Marco Ceppi