У меня небольшая проблема, у меня есть программа на C++, но PHP не показывает вывод, только «пустой». Я сделал небольшую программу для тестирования, когда я использую «printf» и «gcc» для компиляции, она работает нормально, но когда я скомпилирую один и тот же прогон с помощью «g ++», он не может отображать содержимое на странице php. Есть идеи? Я не могу использовать "GCC", потому что мой проект в C++Выход C++ не отображается в PHP
Я использую эту версию GCC/г ++
г ++ (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4)
EDIT: Я упростил проблему, чтобы вы могли понять, что здесь происходит, спасибо за помощь. Теперь я получаю недостающую библиотечную ошибку.
Я собирал файлы, используя следующую процедуру команды:
gcc -o prueba1 prueba.c
g++ -o prueba2 prueba.cpp
Так «prueba1» является один скомпилирован с GCC и «prueba2» является один скомпилирован с G ++
Вот файл test.php
<?php
echo "Executing file compiled with GCC <br />";
echo shell_exec("./prueba1");
echo "<br />";
echo "Executing file compiled with G++ <br />";
echo shell_exec("./prueba2 2>&1");
?>
Я получаю это в браузере:
Executing file compiled with GCC
Hello World (GCC)
Executing file compiled with G++
./prueba2: /opt/lampp/lib/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/libstdc++.so.6)
Вот файл prueba.c:
#include <stdio.h>
int main(int argc, char *argsv[]){
printf("Hello World (GCC)\n");
return(0);
}
Вот файл prueba.cpp:
#include <iostream>
using namespace std;
int main(int argc, char *argsv[]){
cout << "Hello World (G++)" << endl;
return(0);
}
Этот вопрос не имеет смысла. У вас есть исходный код на C++, который вы компилируете с помощью GCC? С чем это связано с PHP? –
Вам необходимо предоставить нам код. –
, пожалуйста, покажите фрагмент ** PHP **, который вы используете для вызова своей внешней программы. – Mat