"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

dynamisches CSS (php) lädt nicht

InfiX 25.05.2016 - 16:31 2161 12
Posts

InfiX

she/her
Avatar
Registered: Mar 2002
Location: Graz
Posts: 13637
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:
Zitat
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_styles
http://stackoverflow.com/questions/...-load-css-files

selbst 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

Legend
RabbitOfNegativeEuphoria
Avatar
Registered: Mar 2000
Location: Kadaverstern
Posts: 11811
hau ins php file rein:

header("Content-Type: text/css ");

InfiX

she/her
Avatar
Registered: Mar 2002
Location: Graz
Posts: 13637
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

Administrator
Frickler
Avatar
Registered: Dec 2000
Location: ~
Posts: 11890
Die `header()`-Funktion musst du aufrufen, bevor dein Script irgendwelchen anderen Output an den Webserver ausgibt. Tust du das?

InfiX

she/her
Avatar
Registered: Mar 2002
Location: Graz
Posts: 13637
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

Administrator
Frickler
Avatar
Registered: Dec 2000
Location: ~
Posts: 11890
Wie schaut denn die ganze HTTP-Response (inkl. Response Header) aus, wenn du die URI per GET-Request fetcht?

InfiX

she/her
Avatar
Registered: Mar 2002
Location: Graz
Posts: 13637
das hier?

Zitat
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
Avatar
Registered: Aug 2003
Location: ~
Posts: 1624
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
Avatar
Registered: Mar 2002
Location: Graz
Posts: 13637
wie gesagt, hab da herumprobiert, z.b. das include mime types in location
könntest evtl deine posten? evtl werd ich schlau draus :D
danke

Code:
   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
Avatar
Registered: Jan 2002
Location: Scotland
Posts: 13504
Zitat von InfiX
das hier?
Das ist der Response der css.php? Da steht auf jeden Fall immer noch Content-Type: application/octet-stream

InfiX

she/her
Avatar
Registered: Mar 2002
Location: Graz
Posts: 13637
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
Avatar
Registered: Aug 2003
Location: ~
Posts: 1624
Meine (bare minimum) Config sieht so aus:
Code:
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
Code:
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
Avatar
Registered: Mar 2002
Location: Graz
Posts: 13637
thx! :D

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.

:ghug:
Bearbeitet von InfiX am 25.05.2016, 22:22
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz