"Works only under the Apache web server with PHP compiled as a module"?

Τεχνικές και μόνο Συζητήσεις για WEB hosting servers, Mail servers, DNS servers. Όχι αναζήτηση υπηρεσιών εδώ!

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
philos
Δημοσιεύσεις: 260
Εγγραφή: 30 Αύγ 2007 23:32

"Works only under the Apache web server with PHP compiled as a module"?

Δημοσίευση από philos » 14 Φεβ 2014 20:05

Παιδιά υπάρχει μια λειτουργία σε ένα σύστημα (vbulletin) η οποία για να δουλέψει, αναγράφει το εξής:
works only under the Apache web server with PHP compiled as a module.
Τι σημαίνει αυτό και πως το ρυθμίζω στον Apache του Wamp?

Μάλλον δεν παίζει να είναι το module php5_module, το οποίο όταν απενεργοποιώ δε διαβάζονται τα αρχεία PHP αλλά κατεβαίνουν στον browser σαν κανονικά αρχεία (οπότε δε μπορεί καν να λειτουργήσει ένα php site χωρίς αυτό ενεργοποιημένο).

Εμένα λειτουργεί ok η λειτουργία στην οποία αναφέρομαι, αλλά ένας γνωστός αντιμετωπίζει πρόβλημα και λέω μήπως είναι αυτό.


Άβαταρ μέλους
philos
Δημοσιεύσεις: 260
Εγγραφή: 30 Αύγ 2007 23:32

"Works only under the Apache web server with PHP compiled as a module"?

Δημοσίευση από philos » 14 Φεβ 2014 20:59

Η Search Engine Friendly Archive (admincp > vbulletin options).

Μπορεί να μην φταίει αυτό, απλά στα πλαίσια ανάλυσης του προβλήματος μελετάμε κι αυτό το ενδεχόμενο μιας που στο admincp έχει την παραπάνω φράση ως σημείωση.
Συγκεκριμένα όταν ο χρήστης προσπαθεί να μπει στο domain.com/forum/archive/ τον κάνει redirect στο /forum/

Παίζει να γίνεται κάποια σύγκρουση με vbseo ή κάποιο άλλο hack. Εγώ ρωτάω για το παραπάνω για να μου λυθεί κι εμένα η απορία. :)

nbc
Honorary Member
Δημοσιεύσεις: 526
Εγγραφή: 05 Σεπ 2009 20:12
Επικοινωνία:

"Works only under the Apache web server with PHP compiled as a module"?

Δημοσίευση από nbc » 15 Φεβ 2014 10:54

H PHP τρέχει με 2 τρόπους:

- Ως CGI διακριτό εκτελέσιμο αρχείο, και
- Ως SAPI module (DSO στο Linux, DLL στα Windows). Στην περίπτωση του Apache, αυτός ο τρόπος είναι γνωστός ως mod_php.

Για να καταλάβεις με ποιον τρόπο τρέχει σε υπάρχον σύστημα, εκτελείς την phpinfo() και ψάχνεις τη μεταβλητή "Server API", στο πρώτο block με τις πληροφορίες συστήματος. Στην 1η περίπτωση θα γράφει "CGI", στη δεύτερη "Apache 2.0 Handler ". Αν έχει πρόσβαση στο httpd.conf, τότε οι γραμμές:

AddHandler application/x-httpd-php5 php
Action application/x-httpd-php5 <path to php cgi>

...υποδηλώνουν CGI, ενώ οι γραμμές:

AddType application/x-httpd-php .php
LoadModule php5_module <module path>

...υποδηλώνουν mod_php.

Το CGI είναι ο πρώτος και συνεπώς αρχαιότερος τρόπος επέκτασης της λειτουργικότητας των web servers. Στην περίπτωση της PHP, χρησιμοποιείται με διάφορες μορφές/wrappers (suExec, suPHP, FastCGI, PHP-FPM, κλπ). Με CGI κάναμε τα παλιά τα χρόνια (προ PHP) δυναμικές ιστοσελίδες με PERL.

Τα SAPI modules ακολούθησαν. Εξ όσων γνωρίζω, όλα τα WAMP πακέτα έρχονται προ-ρυθμισμένα να τρέξουν την PHP ως module. Άρα, δεν χρειάζεται να κάνεις τίποτα.

Απάντηση

Επιστροφή στο “Apache, IIS, DNS Servers”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες