webForumDet fria alternativet

lägga in i text från lista separerat med kolon

PHP

1 svar · 281 visningar · startad av @ndreas

Medlem sedan maj 200148 inlägg
Frågan#1

Hej,

Min httpd.conf har inga VirtualHost kommandon efter en ominstallation. Jag skulle kunna lägga in dessa manuellt, men tänkte att det skulle bli lättare att lägga in över 200 automatiskt.

Vad jag vill kunna, ur en lista på 200 rader
(som ser ut så här)
användarnamnet1;domänen1
användarnamnet2;domänen2

ta ur dessa och sätta in i

<VirtualHost IPNUMMER>
ServerAlias www.$domain $domain
ServerAdmin webmaster@$domain
DocumentRoot /home/$user/public_html
BytesLog domlogs/$domain-bytes_log
ServerName www.$domain
User $user
Group $user
CustomLog domlogs/$domain combined
ScriptAlias /cgi-bin/ /home/$user/public_html/cgi-bin/
</VirtualHost>

där det står $user ska användarnamnet1 stå och resp. för $domain

Finns det då något lätt sett att göra detta?
Lättare än att redigera 200 VirtualHost kommandon.

Medlem sedan jan. 20059 inlägg
#2

Jag vet inte om du kanske redan har löst det, men här kommer i alla fall en lösning:

OBS! Jag bytte ut www till vvv p.g.a. att forumet verkade tycka att det var en länk.

<?
Header("Content-type: text/plain");
$fil = file("indata.txt");

foreach($fil as $rad){
list($user, $domain) = explode(";", trim($rad));

echo "<VirtualHost IPNUMMER>\n";
echo "ServerAlias vvv.$domain $domain\n";
echo "ServerAdmin webmaster@$domain\n";
echo "DocumentRoot /home/$user/public_html\n";
echo "BytesLog domlogs/$domain-bytes_log\n";
echo "ServerName vvv.$domain\n";
echo "User $user\n";
echo "Group $user\n";
echo "CustomLog domlogs/$domain combined\n";
echo "ScriptAlias /cgi-bin/ /home/$user/public_html/cgi-bin/\n";
echo "</VirtualHost>\n\n";
}
?>
260 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)