Em circunstâncias normais, a página phpinfo() pode ser exibida. Vamos começar com os problemas que surgem após conseguir exibir esta página.
Os problemas de PHP serão exibidos na página phpinfo().
Primeiro, verifique se o caminho do seu php.ini está correto
. arquivo, mas depois de reiniciar o servidor Por que nada funciona?
R: Este problema envolve principalmente as seguintes situações.
A primeira razão é que o arquivo php.ini lido pelo sistema é inconsistente com o arquivo php.ini que você modificou no momento 1. Você pode verificar a leitura atual do servidor PHP através da opção Caminho do arquivo de configuração (php.ini). phpinfo() Qual é o php.ini
2. Se desejar alterar o local de acesso ao arquivo do php.ini, você pode consultar a ordem de pesquisa do php.ini, conforme mostrado abaixo:
a) O local especificado pelo módulo SAPI (diretiva PHPNiDir no Apache 2, opção de linha de comando -c em CGI e CLI, parâmetro php_ini em NSAPI, variável de ambiente PHP_INI_PATH em THTTPD)
b) HKEY_LOCAL_MACHINESOFTWAREPHPIniFilePath (local do registro do Windows)
c) Variável de ambiente PHPRC d) Diretório de trabalho atual (para CLI)
e) O diretório do servidor web (para módulo SAPI) ou o diretório onde o PHP está localizado (outros casos em Windows)
f) Diretório do Windows (C:windows ou C:winnt), ou o local especificado pela opção de tempo de compilação --with-config-file-path 3. Abordagem geral: Ao definir a variável de ambiente PHPRC,
a) Operação: Clique com o botão direito em Meu Computador->Propriedades->Avançado->Variáveis de Ambiente b) Crie uma nova variável de ambiente em variáveis de sistema com "o nome da variável é PHPRC e o valor da variável é o caminho do arquivo do seu arquivo php.ini "
A segunda razão é: O PHP não encontrou a biblioteca de extensão correspondente 1. Verifique a localização da biblioteca de extensão encontrada pelo PHP: Você pode vê-la na opção extension_dir do phpinfo() 2. Altere o arquivo extension_dir no php.ini
O terceiro motivo: não há reinicialização completa do IIS
1. As modificações no php.ini devem ser completamente reiniciadas para terem efeito, não apenas no site atual.
2. Digite cmd, pare o servidor: net stop iisadmin inicie o servidor: net start w3svc;
P: Por que não consigo ativar a biblioteca de extensões MySql em meu PHP?
R: No PHP5.0 e superior, o MySQL não está habilitado por padrão, então precisamos ativá-lo manualmente.
1. Para executar MySql em PHP, você deve ativar a biblioteca de link dinâmico php_mysql.dll em php.ini. Além disso, você precisa acessar a biblioteca de link do cliente MySQL, ou seja, o arquivo libmysql.dll 2. Você pode ativar. a biblioteca de link dinâmico php_mysql.dll através da extensão na biblioteca de conexão php.ini e o arquivo libmysql.dll deve ser colocado no caminho do sistema Windows para acessá-lo. um novo caminho para a variável de ambiente PATH.
3. Abordagem recomendada: Defina PATH para facilitar futuras atualizações do PHP. Basta adicionar a pasta onde "libmysql.dll" está localizado após PATH na variável de ambiente do sistema. Lembre-se de separá-los com ";" 4. [Caso] Recentemente, o servidor não conseguiu encontrar a biblioteca de extensão MySql, causando falha na execução do programa. Portanto, exclua todos os arquivos e reconfigure o servidor PHP. Mas no final, quando instalei o MySql, não consegui ativar a biblioteca de extensões do MySql.
As informações encontradas em phpinfo() são as seguintes:
CAMINHO:c:php
PHPRC:C:php
diretório_de_extensão:c:phpext
Além disso, testei a ativação de outras bibliotecas, como msql, gd2, xml, e elas podem ser exibidas normalmente no phpinfo(), comprovando que o PHP pode encontrar a biblioteca de link dinâmico php_mysql.dll, e outra condição para o funcionamento do MySql é para poder consultar o cliente MySQL. A biblioteca de conexão do terminal é o arquivo libmysql.dll. Parece que o problema está aqui.
Procurei o arquivo libmysql.dll na unidade C e descobri que havia um arquivo nas pastas system32 e php. Depois de fazer um backup, tentei excluir o arquivo libmysql.dll no system32 e descobri que ele estava bloqueado e poderia. não pode ser excluído, mas pode ser renomeado. Alterei o nome casualmente e reiniciei o IIS, e o servidor funcionou normalmente.
Um ponto adicional: se o caminho do arquivo de configuração (php.ini) for exibido como C:Windows
, significa que o arquivo php.ini não foi lido.
Além disso, descobri que ao usar o IIS para integrar o php, existem duas maneiras: modo ISAPI e modo CGI.
Em ambas as formas, podemos ver a página phpinfo
, mas usando o modo ISAPI, as variáveis de ambiente não podem ser lidas, portanto, a variável de ambiente PHPRC. está definido. O caminho php.ini não pode ser encontrado.
Basta usar CGI para não precisar copiar muitos arquivos para o arquivo do sistema.