Başka bir php php dosyasını yürütün

4 Cevap php

Ben gibi başlayan bir php dosyası arama deneyin

<?php

//Connection
function connection () {
...

Ben gibi bir php çağrı:

<?php
exec ('/ /opt/lampp/htdocs/.../name.php)')
?>

Alıyorum:

line1-> cannot open ?: No such file
line 3 //Connection: not found
line 4 Syntax errror: "("

Ne olur? Neden ben yürütmek olamaz?

4 Cevap

Bu işe yaramazsa, bir kabuk olarak çalıştırmak için çalışıyor. Sadece include() veya arkadaşlarından birini kullanın.

Eğer kabuk doğrudan PHP kodu çalıştırmak için çalışıyoruz gibi geliyor. Sizin kabuk PHP bilmiyor, bu nedenle kabuğun ana dilinde olsa gibi tam anlamıyla komut satırında <?php çalıştırmak sanki o, PHP kodu yorumlar.

Kabuk betikleri genellikle dosyasını yorumlamak için kullanılacak kabuk ne programı anlatan bir "mesele" çizgi ile başlar. Bu gibi dosyayı başlayın:

#!/usr/bin/env php
<?php
//Connection
function connection () {

Bunun yanı sıra, size geçen konum dize exec herhangi bir anlam ifade etmez. Bu, kendi başına bir çizgi ile başlar bu yolda çok dönemler kullanır ve bir sokak sağ parantez vardır.

Komut dizesinin içeriğini kopyalayın ve komut satırında bunları yapıştırın. Orada çalışmazsa, o zaman exec muhtemelen ya, onu çalıştırmak mümkün olmayacaktır.

Başka bir seçenek yürütmek komutunu değiştirmek için. Bunun yerine, doğrudan komut dosyası çalıştırma, çalıştırmak php ve bir argüman olarak komut geçmek. Sonra shebang hattı gerekmez.

exec('php name.php');

exec is shelling to the operating system, and unless the OS has some special way of knowing how to execute a file, then it's going to default to treating it as a shell script or similar. In this case, it has no idea how to run your php file. If this script absolutely has to be executed from a shell, then either execute php passing the filename as a parameter, e.g

exec ('/usr/local/bin/php -f /opt/lampp/htdocs/.../name.php)') ;

veya php script üstündeki punct kullanın

#!/usr/local/bin/php
<?php ... ?>

Linux platformu üzerinde bir proje üzerinde çalışırken bu genelinde geldi.

exec('wget http://<url to the php script>)

Eğer tarayıcı komut dosyasını çalıştırın sanki bu çalışır.

Bu yardımcı olur umarım!