dynamisches CSS (php) lädt nicht
InfiX 25.05.2016 - 16:31 7726 12
InfiX
she/her
|
ich versuch hier im büro grad ein internes wiki (dokuwiki) aufzusetzen und es klappt einfach nicht, webserver läuft in einer VM auf CentOS 7 mit nginx und php-fpm. die firefox console bringt diesen fehler: The stylesheet http://10.0.0.**/lib/exe/css.php?t=...i&tseed=*** was not loaded because its MIME type, "application/octet-stream", is not "text/css". das ist der einzige anhaltspunkt den ich hab, weder php-fpm noch nginx haben einen fehler im log. hab schon alles probiert was ich irgendwie gefunden hab siehe z.B.: https://www.dokuwiki.org/faq:no_styleshttp://stackoverflow.com/questions/...-load-css-filesselbst wenn ich den default mime type auf text/css änder funktionierts nicht, der fehler kommt dann zwar nicht mehr, aber style lädt er trotzdem keinen. da ich grad ziemlich in der nginx.conf herumpfuschen versuch weiss ich nicht obs sinn hat die zu posten. ein normales .html mit einem normalen .css file geht ohne probleme. PHP version ist 5.4.16 ich komm grad nicht mehr wirklich weiter
Bearbeitet von InfiX am 25.05.2016, 22:19
|
Redphex
LegendRabbitOfNegativeEuphoria
|
hau ins php file rein:
header("Content-Type: text/css ");
|
InfiX
she/her
|
so stehts drin: header('Content-Type: text/css; charset=utf-8');
warum da ' statt " ist k.a.
aber wenn ichs auf oben genanntes änder, ändert sich leider auch nichts, auch nach löschen des caches nicht.
|
COLOSSUS
AdministratorGNUltra
|
Die `header()`-Funktion musst du aufrufen, bevor dein Script irgendwelchen anderen Output an den Webserver ausgibt. Tust du das?
|
InfiX
she/her
|
ich tu garnix genau genommen ^^ ich hab das hier installiert: http://download.dokuwiki.org/und drauf vertraut dass es funktioniert, hab selbst keine erfahrung mit php ansich.
|
COLOSSUS
AdministratorGNUltra
|
Wie schaut denn die ganze HTTP-Response (inkl. Response Header) aus, wenn du die URI per GET-Request fetcht?
|
InfiX
she/her
|
das hier? Accept-Ranges: bytes Cache-Control: max-age=2592000 Connection: keep-alive Content-Length: 6479 Content-Type: application/octet-stream Date: Wed, 25 May 2016 18:43:41 GMT Etag: "55d9d146-194f" Expires: Fri, 24 Jun 2016 18:43:41 GMT Last-Modified: Sun, 23 Aug 2015 13:57:26 GMT Server: nginx/1.6.3 im style editor in firefox zeigt er mir css.php an
Bearbeitet von InfiX am 25.05.2016, 20:50
|
-=Willi=-
The Emperor protects
|
Hab grad ein frisches CentOS 7.0 mit php-fpm, nginx und DokuWiki aufgesetzt und es funktioniert auf Anhieb. Wie sieht denn die relevante server-Klausel in den nginx-Configs aus?
|
InfiX
she/her
|
wie gesagt, hab da herumprobiert, z.b. das include mime types in location könntest evtl deine posten? evtl werd ich schlau draus danke server {
listen 80;
server_name wiki.test.net;
root /var/www/dokuwiki;
# Load configuration files for the default server block.
# include /etc/nginx/default.d/*.conf;
location / {
include /etc/nginx/mime.types;
index doku.php;
try_files $uri $uri/ @dokuwiki;
}
location ^~ /lib/ {
expires 30d;
}
location ^~ /conf/ { return 403; }
location ^~ /data/ { return 403; }
location @dokuwiki {
rewrite ^/_media/(.*) /lib/exe/fetch.php?media=$1 last;
rewrite ^/_detail/(.*) /lib/exe/detail.php?media=$1 last;
rewrite ^/_export/([^/]+)/(.*) /doku.php?do=export_$1&id=$2 last;
rewrite ^/(.*) /doku.php?id=$1 last;
}
location ~ \.php$ {
fastcgi_index index.php;
fastcgi_pass unix:/var/run/php5-fpm.sock;
# try_files $uri $uri/ /index.php?$args;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
include fastcgi_params;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
|
Spikx
My Little Pwny
|
das hier? Das ist der Response der css.php? Da steht auf jeden Fall immer noch Content-Type: application/octet-stream
|
InfiX
she/her
|
nein das war vom normalen index, will ich die css.php aufmachen kommt aber das gleiche.
Bearbeitet von InfiX am 25.05.2016, 22:04
|
-=Willi=-
The Emperor protects
|
Meine (bare minimum) Config sieht so aus: server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/dokuwiki;
index index.php index.html;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Habs mit deiner Config auch probiert und deinen Fehler kann ich damit reproduzieren. Ich hab es darauf reduzieren können, dass der Fehler bei location ^~ /lib/ {
expires 30d;
}
liegt. Warum er da den Content-Type der Response auf octect-stream ist mir aber nicht ganz klar. Du kannst die Klausel aber beruhigt auslassen.
|
InfiX
she/her
|
thx! dacht ich mir dass es irgendsowas einfaches sein muss, dinge nacheinander rauslöschen hab ich noch nicht probiert, auch weil mein verständnis nicht ganz gereicht hat um gleich zu wissen wofür das alles ist, hab die config aus einem beispiel übernommen und dachte das passt so.
Bearbeitet von InfiX am 25.05.2016, 22:22
|