Php- exec,system functions problemo!

Συζητήσεις για γλώσσες προγραμματισμού και θέματα σχετικά με προγραμματισμό.
Post Reply
User avatar
Argi
byte level
byte level
Posts: 122
Joined: Tue Nov 09, 2004 7:22 pm

Php- exec,system functions problemo!

Post by Argi » Thu Jan 06, 2005 6:34 pm

Γειά χαρά και καλή χρονιά σε όλους.
Θα ήθελα να ρωτήσω το εξής:
Έχω την php 4.3.9 και apache 2.0.52 (σε win XP) και
οταν προσπάθησα να χρησιμοποιήσω τις exec και system
η php τις αγνοεί σαν να μην τις κάλεσα καθόλου από τις σελίδες μου!
Αυτό το πρόβλημα δεν το είχα με τον Abyss Web Sever αλλά με το που έβαλα τον Apache για να κάνει host τις σελίδες αυτές οι συναρτήσεις exec
και system έπαψαν να δουλεύουν!
Ξέρει κάποιος τι φταίει;
User avatar
Ethel
Venus Project Founder
Venus Project Founder
Posts: 2395
Joined: Fri Mar 19, 2004 10:41 am
Academic status: Alumnus/a
Gender:
Location: New York City, NY
Contact:

Post by Ethel » Thu Jan 06, 2005 7:30 pm

O apache είναι σίγουρα setρισμένος ώστε να κάνει σωστά parse των php files; Σαν τι φορτώνεις την php; apache module;
There's no place like 127.0.0.1
User avatar
Argi
byte level
byte level
Posts: 122
Joined: Tue Nov 09, 2004 7:22 pm

Post by Argi » Thu Jan 06, 2005 8:34 pm

Η php είναι εκτατεστημένη στο C:/php/ και στα scripts υπάρχει
αυτό το μονοπάτι έτσι ώστε να βρίσκει ο server το διερμηνευτή.
Η php τρέχει κατα τα άλλα μια χαρά(συνδέεται στη βάση-mysql και όλες οι άλλες συναρτήσεις που χρησιμοποιώ δουλεύουν ρολόι)
Μόνο οι συναρτήσεις exec,system δεν δουλέουν-δηλαδή αυτές που χρησιμοποιούνται για εκτέλεση command-line (και μη) προγραμμάτων στο server.
Μήπως στο httpd.conf υπάρχει καμμιά ρύθμιση που τις απαγορεύει να εκτελούνται για λόγους ασφαλείας;
Δεν μπορω να καταλάβω γιατί δεν τρέχουν...
User avatar
Einherjar
Venus Project Founder
Venus Project Founder
Posts: 3751
Joined: Tue Jan 27, 2004 4:42 pm
Academic status: Alumnus/a
Gender:
Location: Washington DC, USA
Contact:

Post by Einherjar » Fri Jan 07, 2005 1:17 am

στο php.ini περιέχεται μια παράμετρος disable_functions
λογικά υπάρχουν εκεί οι system & exec. Δοκίμσε να τις βγάλεις
[Better to understand a little than to misunderstand a lot]
User avatar
HdkiLLeR
Venus Project Founder
Venus Project Founder
Posts: 4356
Joined: Tue Jan 27, 2004 4:41 pm
Academic status: Alumnus/a
Gender:
Location: New York, NY
Contact:

Post by HdkiLLeR » Fri Jan 07, 2005 2:55 pm

Επίσης καλό θα ήταν να μην καλείς εξωτερικό interpreter για την php αλλά να χρησιμοποιήσεις embedded module php για τον apache.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS d-->--- s+:+ a- C++(+++) BILS++++$ P--- L++++>+++++ E--- W+++ N+ o+ K w--
O M+ V-- PS++>+++ PE- Y++ PGP++ t+ 5+ X+ R* tv b++ DI- D+ G+++ e+++>++++ h r++ y++
------END GEEK CODE BLOCK------

"UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity." -- Dennis Ritchie
User avatar
Argi
byte level
byte level
Posts: 122
Joined: Tue Nov 09, 2004 7:22 pm

Post by Argi » Sat Jan 08, 2005 12:46 pm

:!: Βρήκα τη λύση!
Για όσους ενδιαφέρονται :
1)Για κάθε πρόγραμμα που θέλουμε να εκτελέσουμε πρέπει να καλούμε
την συνάρτηση ως εξής:
exec("start pathtoourprogram/ourprogram.exe");
Αλλιώς δεν θα τρέξει.
(αυτό δεν ισχύει αν έχετε τον Abyss Web Server-άγνωστο το γιατί)

Επίσης,
2)Αν θέλουμε να τρέξουμε προγράμματα που έχουν γραφικές διεπαφές
πρέπει να πάμε στα system services - > Apache - > Ιδιότητες και από εκεί να επιλέξουμε : Αλληλεπίσδαση με την επιφάνεια εργασίας

Πάντως ευχαριστώ παιδιά για τη βοήθεια και
HDKiller σίγουρα θα κοιτάξω να την τρέχω σαν module.
(για την ώρα δεν ξέρω πως -δεν το έχω ξανακάνει)
Post Reply

Return to “Προγραμματισμός”