After executing all the steps as indicated in the Pset7 Spec I get the following message after trying to get into https://ide50-username.cs50.io/:


// configuration

// render portfolio
render("portfolio.php", ["title" => "Portfolio"]);


Does anyone know what could be wrong?

Thanks in advance!


1 Answer 1


REVISED 25-sep-2016

Recap Based on the history of this issue, it has been determined that there is "something wrong" with your workspace. The php5 module is not being loaded in apache50, which makes it impossible to continue with pset7. A lot of time has passed since your workspace was built, so it seems futile to troubleshoot when/why/how this happened. I suggest building a new CS50 workspace and moving on.

Building a new workspace

  1. Go to your cloud9 dashboard. CS50 IDE > Go To Your Dashboard

  2. Choose "Create a new workspace". Give it a name (1), a description (2) and choose the "Harvard's CS50" template (3). It will not let you create a second private workspace. More on that later.

enter image description here

  1. Your new workspace will open as soon as it is created. Since you now have two workspaces, here's a suggestion for a "visual clue" to give the human (you) a fighting chance. In a terminal window, create a new directory under your workspace directory, example mkdir __IDE50-TWO__. By starting the name with underscore (_) it will always be first in the list.

enter image description here

  1. Run update50. This should install version 76 (as of today's date).

Restore your backup

  1. From the File tab, choose "Upload Local Files...." and upload your backup zip file. It will be uploaded to workspace directory.

  2. cd ../. This will take you "up" one directory to the home directory. Since the backup was created relative to workspace, you need to unzip it from the home directory.

  3. unzip workspace/ide50.zip (Replace "ide50.zip" with the correct file name). You should see all your work appear in the workspace pane.

It's C$50 Finance time!

By all that is good and holy, you should be ready to resume pset7. Remember, if the web page displays the wrong page, try a ctrl-F5. If you get "403 Forbidden" errors, review this post or this one and verify/correct file permissions.

Accessing your new workspace

If you use CS50.io to login to your workspace, it will always take you to the original zone. You will have to remember to go to Dashboard, and switch to ide50-two.

You can connect directly to the new workspace (via CS50 login) with this link: https://ide.cs50.io/username/ide50-two where 1) "username" is of course your own; and 2) "ide50-two" is the name you gave the new workspace.

It would be prudent to connect to the original zone one final time to shut any services that are running, since it will be a public workspace after the next step. You can access it through the dashboard or https://ide.cs50.io/username/ide50. apache50 stop mysql50 stop

Private workspace

Since you will be running the server from workspace two, I recommend you make that a private workspace, and change the original to public. Back to dashboard. Select (click on) a workspace, click the gear control (top-right), and select the desired privacy option for each workspace. This doc from cloud9 describes the differences.

Here's wishing you RickRoll in the near future!

  • Interesting myriad of options. I'll go one by one. I tried it in another browser but it didn't work even after ctrl-F5. Locale outputs: LANG=C LANGUAGE=C.UTF-8 LC_CTYPE="C.UTF-8" LC_NUMERIC="C.UTF-8" etc. I understand that it may be that apache is interpreting the file as if it was encoded with a particular model and that it is actually encoded with another. On the other hand, after following your report (great job by the way!) I found that when I execute "/etc/apache2/mods-enabled/ $" and then "ls", php5.conf was nowhere to be found. I ran Update50 and still the same issue. Commented Sep 19, 2016 at 18:30
  • I am sure the hello, hello world is the result of the browser skipping the PHP part and dumping all the text in the code (hello.php was an if statement which printed Hello if a name has been written or Hello World if there was no name). However I do not know if the problem is on the encoding or the lack of the php5.conf module. Commented Sep 19, 2016 at 18:33
  • Lack of php5.conf just became the prime suspect. Is there a php5.conf in /etc/apache2/mods-installed? Do you see "php5_module (shared)" when you sudo apachectl -M? What is the result of sudo apachectl configtest Commented Sep 19, 2016 at 20:34
  • Ok, cd /etc/apache2/mods-installed shows no such file or directory. There is no php5_module (shared) when sudo apachectl -M but at the end of the list I can see the following message: "Action '-M?' failed". Finally sudo apachectl configtest results in Syntax OK. Commented Sep 20, 2016 at 0:53
  • When did you start the course? Did you already have a cloud9.io account? There is no '?' in the -M call, it should be sudo apachectl -M Commented Sep 20, 2016 at 12:14

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .