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.


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.


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?


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.