Como posso permitir que meus usuários definam as configurações do PHP.ini para o wordpress?

2

Eu configurei um servidor wordpress a partir de um Ubuntu 9.10 padrão para uma classe e eles estão constantemente encontrando problemas com as configurações padrão do PHP.ini. Primeiras configurações de memória eram muito baixas, então os limites de upload de arquivos eram muito pequenos, etc. E mais preocupante era uma página em branco que eu suspeito que foi morto para consumo de ram, mas ativar erros de php no php.ini não revelou nada!

Não estou familiarizado com a hospedagem compartilhada, mas acho que esses sites permitem que os usuários editem essas coisas sem precisar que eu intervenha e reinicie o Apache.

    
por jldugger 18.05.2010 / 21:44

3 respostas

2
Tecnicamente, você não pode corrigir o arquivo php.ini enquanto ele estiver em execução (iirc ele é lido apenas quando o apache é iniciado), mas você não precisa realmente alterá-lo para fazer as alterações.

O

ini-set permite que você altere a opção dentro do código. É um pouco tedioso definir uma opção de cada vez, então eles adicionaram parse_ini_file . ..well, analise um arquivo .ini.

Você também pode sobrepor os valores com um arquivo .htaccess, usando a diretiva php_flag .

    
por 18.05.2010 / 21:51
1

Você provavelmente não desejará permitir que seus usuários toquem as configurações do PHP.ini (especialmente porque isso exige que AllowOverride Options ou AllowOverride All seja definido, o que pode abrir várias maneiras para os usuários criarem falhas de segurança.

Quando estava fazendo o ISP / Hospedagem Compartilhada, estabeleci limites relativamente generosos em todo o sistema e os usuários que rotineiramente atingiam esses limites poderiam comprar uma classe de serviço mais alta (ponto em que eu ou alguém de a equipe administrativa editaria a configuração do Apache para seu host virtual específico e aumentaria seus limites).

Isso tem duas grandes vantagens: Segurança (Seus usuários não podem aproveitar toda a sua memória ou fazer upload de arquivos obscenamente grandes e preencher seu disco) e Fluxo de Caixa (Usuários que consomem mais recursos são forçados a pagar por eles) e as exigências adicionais do seu tempo são relativamente mínimas. Como bônus, você também sabe quais recursos está comprometendo, para saber se está sobrecarregando o servidor a um ponto em que pode precisar abrir um novo e migrar alguns clientes.

    
por 18.05.2010 / 21:53
1

Execute-os via FastCGI para que você possa manter tudo isolado em seu próprio UID (suPHP / suExec). Em seguida, forneça um wrapper php que carregue um arquivo ini personalizado. Isso permitirá que eles editem suas próprias configurações, mas mantenham tudo restrito ao seu próprio UID. Eu tenho um punhado de instalações do Wordpress funcionando assim (embora eu também defina limites de memória por usuário).

    
por 18.05.2010 / 22:16