trouble with shell_exec()


 
Thread Tools Search this Thread
Top Forums Web Development trouble with shell_exec()
# 1  
Old 04-15-2011
trouble with shell_exec()

If you aren't familiar with LaTeX, don't stress.. it's just a document markup language that I use for creating Math documents.

Anyway, if I execute "latex /home/destructo/Desktop/example.tex" inside my command prompt (ubuntu), it will create the desired document... I decided to try to create a localhost website to aid with this process and was suggested to use the shell_exec() function. However, I quickly found this to be a problem..

When I use the following code, I receive an error.
Code:
$output = shell_exec('latex /home/destructo/Desktop/example.tex');
echo "<pre>$output</pre>";

The error is the following:
Quote:
This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009/Debian)
entering extended mode
! I can't write on file `example.log'.
(Press Enter to retry, or Control-D to exit; default file extension is `.log')
Please type another transcript file name:
! Emergency stop
No pages of output.
I am hoping someone might be able to help me understand why this is happening.. Or if there is an alternate way to accomplish my goals...I am supposing it is a permissions problem..??

Anyway, it's my first post here.. Be kind! >.<

-Tyrick
# 2  
Old 04-15-2011
Good lord, I should have known better than to google "man latex"... Smilie

When you run it yourself, it creates them in the current directory. When you run it from PHP like that, it will try to create them inside the same folder as the PHP script, I think. Probably not a folder you want apache to be able to modify! Give latex a -output-directory parameter to make latex write them somewhere else.

You'll want this folder to have the apache group and be group-writable.

Code:
# as root
chown :apache /path/to/folder
chmod g+rwx /path/to/folder

When your webserver creates files in /path/to/folder they will belong to apache:apache. This won't be a problem I think; you should be able to read and delete them since the directory belongs to you. If the permissions aren't permissive enough, you can do chmod o+rw inside your php script after latex finishes.

Secondly, even if you get PHP executing it like that, I don't think PHP is actually going to dump the output file's contents into the variable. I think you'll have to $f=fopen("/path/to/filename"); while($var=fgets($f)) { ... } to process it there.

Last edited by Corona688; 04-15-2011 at 05:07 PM..
This User Gave Thanks to Corona688 For This Post:
# 3  
Old 04-15-2011
hey.. that was a perfect reply. I've got everything working now. Beautiful! Thank you so much! (Why did you add "man" to that... lol)
# 4  
Old 04-15-2011
Quote:
Originally Posted by tyrick
(Why did you add "man" to that... lol)
If you don't know about UNIX manual pages, you're missing out on a lot. Try typing man latex into your shell. Manual pages should be available for quite a few different commands, utilities, functions, shells, protocols, and system calls. You can also access manual pages on unix.com through the 'man' link in the top bar, though as it turns out, not for latex.

Last edited by Corona688; 04-15-2011 at 07:25 PM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Shell_exec is not working

I am trying to execute a command with shell_exec but this command does not work, other commands work <?php $output = shell_exec("tail /var/log/syslog"); echo "<pre>$output</pre>"; ?> (4 Replies)
Discussion started by: Rodrigo_Bueno
4 Replies

2. Shell Programming and Scripting

Sqlplus with shell_exec(); PHP command

Hi, I need to run a PL/SQL Query from a distant oracle server in order to create spool files and send it to my own server, using a php script. I firstly created a SH script called myscript.sh #!/bin/bash echo "This script is working" sqlplus... (8 Replies)
Discussion started by: cgstag
8 Replies

3. Web Development

php shell_exec

Hey guys i've recently been getting into php programming and i became thinking was it possible to create a php script that would allow you to run a terminal from the browser page? All i've pretty much got so far is: $var = $_GET; $output = php shell_exec($var); echo $output; ... (4 Replies)
Discussion started by: lordfirex
4 Replies

4. Shell Programming and Scripting

Passing array variable in shell_exec

Hi all, i wrote a php script in which i passed some values in the array variable using a for loop. I have to pass this array values to a shell script using shell_exec() <?php while($row = mysql_fetch_assoc($ansid)) { //$row = mysql_fetch_assoc($ansid); $aid = $row; echo $aid; $i =... (2 Replies)
Discussion started by: vidhyaS
2 Replies

5. Shell Programming and Scripting

c binary not being executed with shell_exec()

I have written a c program. And compiled it to make a binary. Now when i try to call this binary from php page, it is not being executed. [ (2 Replies)
Discussion started by: xerox
2 Replies

6. Programming

Calling macro in shell_exec not working

Hi guys! I really need your help. I have a php code that should convert doc, ppt,etc. to pdf using openoffice. But its not working, and im not sure what the problem is. Here's my php code: define('OOFFICE_LIBRARY', '/usr/lib/openoffice.org/program/'); $convertToPdf = OOFFICE_LIBRARY .... (5 Replies)
Discussion started by: tweine
5 Replies

7. Shell Programming and Scripting

Help with PHP and shell_exec!!!

Hi, I've been working on a PHP script which is "supposed" to find an individuals weather based on their geolocation. This script uses "shell_exec". I have checked my syntax and it is correct, but there is still something missing; for when I call on the script using: <form action='/weather.php'... (15 Replies)
Discussion started by: o0110o
15 Replies

8. Shell Programming and Scripting

php shell_exec, exec command timeout

HI, Does anybody know if its possible to execute a command through exec, shell exec, system and if the program doesn't terminate in N seconds returns control to PHP ? reg, research3 ---------- Post updated 10-16-09 at 12:20 AM ---------- Previous update was 10-15-09 at 11:03 PM... (1 Reply)
Discussion started by: research3
1 Replies

9. UNIX for Dummies Questions & Answers

X trouble

Hi there, I'm new to unix-environments. I'm richard, and i'm mostly a web-developer, under php. I've done work in unix env before, but never had my own. Today, I've got debian 3.1 r4 from the official site, and i've attempted to install it twice. I installed it initially as "Desktop... (0 Replies)
Discussion started by: izua
0 Replies

10. Solaris

Trouble with tr

I'm not sure where to post this but it's happening on a SunOS 5.8 server so I'll try here. I've discovered some unexpected behavior when using tr. For example: echo a | tr Z echo b | tr a echo a | tr B echo a | tr B echo a | tr A (8 Replies)
Discussion started by: Mike@Work
8 Replies
Login or Register to Ask a Question