2016-09-07 2 views
0

мне нужно запустить скрипт, который будет выполнять файл PHP, но я не могу запустить PHP файл из Bash ScriptRun PHP файл из Bash

test.sh:

#!/bin/sh 
php /home/username/public_html/Test3/Test.php 

Где ошибка?

/вар/Журнал/хрон:

Sep 7 22:56:01 srv CROND[4344]: (root) CMD (sh /home/Username/public_html/Test3/test.sh) 

test.php

<?php 
$servername = "localhost"; 
$username = ""; 
$password = ""; 
$dbname = ""; 

try { 
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); 
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
    $date = date('h:i:s'); 
    $sql = "UPDATE deneme SET CRONTEST='".$date."' WHERE id=1"; 

    $stmt = $conn->prepare($sql); 

    $stmt->execute(); 

    echo $stmt->rowCount() . " records UPDATED successfully"; 
    } 
catch(PDOException $e) 
    { 
    echo $sql . "<br>" . $e->getMessage(); 
    } 

$conn = null; 
?> 
+0

Каков вывод, если вы просто набираете 'php -v' в bash? – Blake

+2

Можете ли вы распечатать ошибку, имеющуюся в консоли? –

+0

Добавили ли вы 'x' в файл? –

ответ

1

Несколько способов, чтобы получить эту работу. Мой первый выбор, вызовите PHP-скрипт непосредственно из cron. Чтобы сделать это, убедитесь, что ваш PHP скрипт исполняемым (CHMOD 755) Убедитесь, что сценарий CLI PHP начинается с ..

#!/usr/bin/php 
<?php 

Из оболочки типа ", который в PHP и изменить«/ USR/bin ... 'соответственно. После того, как эти шаги будут выполнены, запись в cron может выглядеть. , ,

*/5 * * * * /usr/bin/php -f /var/www/script.php 

и еще раз убедитесь, что вы указали фактическое местоположение php.
попытался объяснить в комментариях, выбежал из комнаты:/

0

Я решил мой вопрос этот метод:

#!/bin/bash 

data=$(/usr/bin/php -q /home/username/public_html/Test3/Test.php); 

Но я не могу переменные, например:

#!/bin/bash 

data=$(/usr/bin/php -q /home/username/public_html/Test3/Test.php name=Saracoglu); 

не Its за работой. Я ищу ..

+0

Разве это не то же самое, что я написал в своем ответе? – heemayl

+0

@heemayl У вас нет ответа 'data = $ (binPath -q path);' – Editor