franks Posted January 20, 2023 Posted January 20, 2023 Hallo, ich haben Composer installiert. Nun sollte auf den Prad /rpot/vendor/ zugegriffen werden. In der PHP-Konfiguration habe ich {OPEN_BASEDIR_C}open_basedir = "{OPEN_BASEDIR}:/root/vendor/" eingetragen. Leider funktioniert das so nicht. Was ist der richtige und ein sicherer Weg?
0 franks Posted January 20, 2023 Author Posted January 20, 2023 ... bzw. kann man das auch mit Symlink lösen?
0 d00p Posted January 20, 2023 Posted January 20, 2023 Ehm, egal was, es hat absolut nix in /root/vendor/ verloren und deine Website sollte da auch egal wie nichts von einbinden. Was genau hast du vor?
0 franks Posted January 20, 2023 Author Posted January 20, 2023 Ich habe das Composer Package von OpenAI installiert. # GitHub - orhanerday/open-ai: OpenAI PHP SDK : Most downloaded, forked, contributed, huge community supported, and used PHP (Laravel , Symfony, Yii, Cake PHP or any PHP framework) SDK for OpenAI GPT-3 and DALL-E. It also supports chatGPT-like streaming. Nun kann ich auf der Console ein Script fehlerfrei aufrufen. Gerne möchte ich über ein PHP Script auf einer Website ein Script aufrufen aber habe das Problem dass bei den originalen Zeilen require __DIR__ . '/vendor/autoload.php'; // remove this line if you use a PHP Framework. Den Fehler Warning: require(/var/customers/webs/xxx/xxx.com/vendor/autoload.php): failed to open stream: No such file or directory bringt und require '/root/vendor/autoload.php'; Warning: require(): open_basedir restriction in effect. File(/root/vendor/autoload.php) is not within the allowed path(s): Am Rande möchte ich erwähnen dass ich unglaublich finde wie ChatPGT performt. Wenn man z.B. Wie installiere ich Froxlor auf Debian 10 eingebe dann erhalte ich direkt eine Anleitung. Die Antworten sind zwar nicht immer korrekt aber sehr hilfreich.
0 d00p Posted January 20, 2023 Posted January 20, 2023 okay, ich glaub da herrscht vermutlich ein verständnis problem ... Du willst diese OpenAI PHP SDK nutzen, auf deiner website z.B. sagen wir web1 ist dein Kunde mit Homedir /var/customers/webs/web1 . Gehen wir auch mal davon aus, dass er standardmäßig keine Shell hat, dann machst du folgendes: # wechseln in Kundenverzeichnis cd /var/customers/webs/web1 # installieren der library via composer composer require orhanerday/open-ai # ändern der berechtigung auf den kunden chown -R web1: vendor/ Das Kunden-Verzeichnis sollte nun so aussehen: /var/customers/webs1/index.html /var/customers/webs1/vendor/ Dann löscht du die index.html, erstellst dir eine index.php und schmeisst da den inhalt aus dem Beispiel rein: <?php // __DIR__ wird in PHP zu dem verzeichnis wo dieses script liegt // in deinem fall also /var/customers/webs/web1/ // require __DIR__ . '/vendor/autoload.php'; use Orhanerday\OpenAi\OpenAi; $open_ai_key = getenv('OPENAI_API_KEY'); $open_ai = new OpenAi($open_ai_key); $complete = $open_ai->completion([ 'model' => 'davinci', 'prompt' => 'Hello', 'temperature' => 0.9, 'max_tokens' => 150, 'frequency_penalty' => 0, 'presence_penalty' => 0.6, ]); var_dump($complete);
0 franks Posted January 20, 2023 Author Posted January 20, 2023 Oh, jetzt verstehe ich es. Klappt nun ganz gut.
Question
franks
Hallo,
ich haben Composer installiert. Nun sollte auf den Prad /rpot/vendor/ zugegriffen werden.
In der PHP-Konfiguration habe ich
{OPEN_BASEDIR_C}open_basedir = "{OPEN_BASEDIR}:/root/vendor/"
eingetragen. Leider funktioniert das so nicht. Was ist der richtige und ein sicherer Weg?
5 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now