compilare da uno script php, perchè fallisce?

Visualizzazione 5 filoni di risposte
  • Autore
    Risposte
    • #92849
      robitex
      Amministratore del forum
        Up
        0
        Down
        ::


        Ciao Mario,
        quale compilatore utilizzi pdflatex o xelatex?
        A volte i compilatori come LuaTeX devono generare i file per i font alle prime compilazioni, e forse è questa la causa della necessità dei permessi di scrittura nelle cartelle admin, anche se a logica, i file di descrizione necessari vengono messi nella cartella home dell’utente e non dovrebbero richiedere permessi speciali.
        Riporta un esempio minimo compilabile del sorgente da compilare attrraverso php.
        R.

      • #92850
        mario
        Partecipante
          Up
          0
          Down
          ::


          Salve

          grazie risposta.
          Non so bene quale sia il compilatore.
          Se vedi al link ad altro forum, ho fatto dei progressi dando particolari permessi ad Apache.
          Attualmente la situazione è che riesco a compilare come voglio (inclusi cioè alcuni caratteri cirillici) se lancio php da linea di comando, non se chiamo lo stesso script dal client (ottenendo comunque un .pdf con tutto il resto).
          Non credo sia un problema di TeX, ma qualcosa di php/apache che non avevo mai incontrato. Ma cosa?
          Grazie per ognisuggerimento
          mario

        • #92851
          Up
          0
          Down
          ::


          Può darsi che PHP non riesca a riconoscere il path per i font OpenType?

          Ciao
          Claudio

        • #92852
          mario
          Partecipante
            Up
            0
            Down
            ::


            Hi

            non sono alla macchina in questione, ma potrebbe essere che i permessi di php lanciata dall’utente apache da linea di comando siano diversi da quelli di php invocato dal server web. In particolare alcune font sono state create sotto /var/www/ (quando ho compilato lo script -e quindi tex – da linea di comando) mentre il mio localhost è in /var/www/html/. Ma non mi è chiaro come sistemare la cosa.
            Aggiono se trovo una soluzione, e in ascolto

            grazie
            mario

          • #92853
            Up
            0
            Down
            ::

            mario60″ post=92461Hi

            non sono alla macchina in questione, ma potrebbe essere che i permessi di php lanciata dall’utente apache da linea di comando siano diversi da quelli di php invocato dal server web. In particolare alcune font sono state create sotto /var/www/ (quando ho compilato lo script -e quindi tex – da linea di comando) mentre il mio localhost è in /var/www/html/. Ma non mi è chiaro come sistemare la cosa.
            Aggiono se trovo una soluzione, e in ascolto

            grazie
            mario

            Un attimo… questo dipende da come implementi la procedura. Se dovessi farlo io, a lato client darei la possibilità solo di inviare al server il documento e metodo di compilazione. Lato server, ricevendo il documento crea un file locale e lo compila secondo il metodo che l’utente desidera. Finiti i giochi invia il documento al client. Perciò, dovresti assicurarti che sulla macchina su cui è installato il server tu abbia tutti i permessi per la compilazione (oltre alla distribuzione) se le macchine sono diverse. Se lavori, come probabile, su una macchina sola, secondo me è veramente un problema di riconoscimento dei path. Ma, senza avere più dettagli di come stai implementando la procedura e senza un esempio minimo è praticamente impossibile darti una mano.

            Ciao
            Claudio

          • #92854
            mario
            Partecipante
              Up
              0
              Down
              ::


              Salve

              ho chiesto a un paio di liste Tug.
              Questo è il msg, se avete qualche idea siete i benvenuti
              Se serve allego il file .php un sample .tex.
              Grazie
              mario
              ————————————–

              On my local web server Apache (Linux platform), I create and compile a
              number of .tex file calling some php script from a web client. This has
              been working without main issues.

              For a recent job, I need to output some cyrillic text. I am able to do
              so, if a compile a myfile.tex file from my shell (or from within an
              editor as Kile) as the root user.
              However, if a call from a web client a php script with instructions

              “/usr/local/texlive/2013/bin/i386-linux/latex –interaction batchmode
              myfile.tex`;`

              compilation partially fails, in particular cyrillic letters are not
              rendered.

              I have tried to execute my php script from a shell as the apache user,
              and I got the following error

              `LaTeX Font Warning: Font shape `T2A/wncyr/m/n' undefined
              (Font) using `T2A/cmr/m/n' instead on input line 2.

              kpathsea: Running mktextfm larm1728
              mkdir: cannot create directory `././var/www/.texlive2013': Permission
              denied
              mktextfm: mktexdir /var/www/.texlive2013/texmf-var/fonts/tfm/lh/lh-t2a
              failed.
              kpathsea: Appending font creation commands to missfont.log.
              ! Font T2A/cmr/m/n/17.28=larm1728 at 17.28pt not loadable: Metric (TFM)`

              However, by setting

              `chown apache:apache /var/www/`

              i get instead

              `LaTeX Font Warning: Font shape `T2A/wncyr/m/n' undefined
              (Font) using `T2A/cmr/m/n' instead on input line 2.
              kpathsea: Running mktextfm larm1728
              mktextfm: Running mf-nowin -progname=mf \mode:=ljfour; mag:=1;
              nonstopmode; input larm1728
              This is METAFONT, Version 2.718281 (TeX Live 2013)
              kpathsea: Running mktexmf larm1728
              mktexmf: /var/www/.texlive2013/texmf-var/fonts/source/lh/lh-t2a/larm1728.mf: successfully generated.
              –snip–`

              and eventually I get a fine output.

              The bad news is that is not good enough, compilation still fails if I
              call the same php script from my web client.

              What I note is that mktexmf creates larm1728.mf within /var/www/, where
              instead my DocumentRoot is /var/www/html/ (i can not chenge that)

              I suspect the/a issue is
              that .texlive2013/texmf-var/fonts/source/lh/lh-t2a/larm1728.mf should be
              somewhere else within my DocumentRoot, as to be available to the web
              server.
              ——-

          Visualizzazione 5 filoni di risposte
          • Devi essere connesso per rispondere a questo topic.

          Go to top