Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    Utilizzare librerie C++

    Ciao a tutti,

    ho delle ottime librerie in C++ per la creazione di grafici. Non ci sono problemi sui siti nei quali ho accesso in amministrazione in quanto basta copiarle nella extension_dir e riavviare httpd.

    Questo non è possibile per i siti in hosting, non avendo l'accesso di root.

    Domando, quindi, se c'è un modo per usare con PHP delle librerie in C++ e simili senza essere amministratori.

    Ad esempio in Perl è semplicissimo.
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  2. #2
    devi usare l'estensione FFI con PHP5

    è abbastanza semplice ma la documentazione è quasi zero, quando l'ho studiata, sono andato ad intuito

  3. #3
    Tutti i server in hosting su cui lavoro hanno PHP 4.3
    Non c'è niente da fare?

    Grazie.
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  4. #4
    no

    non la metterebbe nessuno FFI è ancora sperimentale, dovresti avere un dedicato, ma cmq è + utile per i client stand-alone

  5. #5
    Utente di HTML.it L'avatar di kuarl
    Registrato dal
    Oct 2001
    Messaggi
    1,093
    ehm... ma la funzione dl no eh??

    se hai detto che sono semplici estensioni che di solito copi nella extension_dir, allora ti basta avere un buon hosting e usare la funzione dl()

    http://it.php.net/manual/en/function.dl.php

  6. #6
    Originariamente inviato da kuarl
    ehm... ma la funzione dl no eh??

    se hai detto che sono semplici estensioni che di solito copi nella extension_dir, allora ti basta avere un buon hosting e usare la funzione dl()

    http://it.php.net/manual/en/function.dl.php
    Sì può funzionare ma bisogna che la libreria sia stata compilata su un sistema motlo simile a quello utilizzato in hosting, non so se anche solo cambiando la distribuzione linux possa cambiare qualcosa

    X Shishii

    Hai creato tu delle estensioni C/PHP che fanno il Wrapping intorno a quelle librerie, o sono delle estensioni grafiche per PHP già pronte?
    per favore NIENTE PVT TECNICI da sconosciuti

  7. #7
    Grazie,

    non conoscevo la funzione "dl" (il mio linguaggio principale è perl). Le librerie funzionano sui server nei quali in php.ini è settato

    enable_dl = On
    safe_mode = Off

    il che implica che non ci posso fare sempre affidamento.

    X Fabio.

    sono delle estensioni grafiche già pronte, potenti, efficienti, gratuite, ma NON Open Source.

    Avrei preferito che funzionassero sempre anche con php. Fino ad ora per usarle non ho fatto altro che utilizzare dei miei script Perl (che come detto non ha questi problemi) in combinazione con PHP.
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  8. #8
    scusa ... ma avevo capito che ti serviva usare delle librerie C\C++ che con php non c'avevano nulla a che fare...con php

    Domando, quindi, se c'è un modo per usare con PHP delle librerie in C++ e simili senza essere amministratori.

  9. #9
    Originariamente inviato da shishii
    sono delle estensioni grafiche già pronte, potenti, efficienti, gratuite, ma NON Open Source.

    Avrei preferito che funzionassero sempre anche con php. Fino ad ora per usarle non ho fatto altro che utilizzare dei miei script Perl (che come detto non ha questi problemi) in combinazione con PHP.
    Come le utilizzi in Perl? Fai delle chiamate esterne tipo system o sono dei moduli stile CPAN?

    Perchè in PHP 4 per usare delle librerie esterne create in un linguaggio compilato è necessario realizzare un wrapper (cioè un estensione C a PHP, come accade ad esempio con le funzioni CURL o le API per i database) o effettuare una chiamata di sistema ad un programma da linea di comando.

    Le cose sono leggermente diverse per gli oggetti Activex e Java (per i quali esistono dei wrapper generici).

    In Perl puoi utilizzare qualsiasi libreria esterna senza servirti di un estensione CPAN?
    per favore NIENTE PVT TECNICI da sconosciuti

  10. #10
    Originariamente inviato da Fabio Heller
    Come le utilizzi in Perl? Fai delle chiamate esterne tipo system o sono dei moduli stile CPAN?
    In genere viene creato un file .pm (un modulo perl) che viene dichiarato sottoclasse dei moduli standard DynaLoader (storico) o XSLoader (più moderno), o altri più specifici. Il tuo file .pm, invocato dagli script operativi, svolge le funzioni che ti servono e rimane a carico della classe padre (DynaLoader o XSLoader) di interfacciarsi con la libreria condivisa, sotto linux .so,

    Perchè in PHP 4 per usare delle librerie esterne create in un linguaggio compilato è necessario realizzare un wrapper (cioè un estensione C a PHP, come accade ad esempio con le funzioni CURL o le API per i database)
    di base è così anche in Perl in quanto sia DynaLoader che XSLoader hanno parti compilate. I moduli Perl sono di due famiglie: I PP ovvero Pure Perl, e quelli che hanno parti compilate.

    o effettuare una chiamata di sistema ad un programma da linea di comando.
    questo è sempre possibile, ma molto inefficiente.

    Le cose sono leggermente diverse per gli oggetti Activex e Java (per i quali esistono dei wrapper generici).

    In Perl puoi utilizzare qualsiasi libreria esterna senza servirti di un estensione CPAN?
    Usando quei moduli standard (cioè inseriti di default in Perl) puoi interfacciarti alle librerie .so su linux o .dll su Windows come farebbe qualunque programma C, in pratica, se ho capito bene, assomigliano a dei linker.
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.